push-notificationfirebase-cloud-messagingmongoose-im

Unable to submit push notification. ErrorCode 460


I am using MongooseIM with MongooseIM-Push feature. I have configured FCM on both Android and IOS and Its working fine for both (tested by sending Notification push from node js code).

while using the MongooseimPush (running docker image) although the I am able to receive push on android still I am getting the below error for each stanza sent

11:46:00.372 [error] Unable to submit push notification. ErrorCode 460, Payload <<"{\"topic\":null,\"service\":\"fcm\",\"mode\":\"prod\",\"data\":{\"message-count\":1,\"last-message-sender\":\"a9jpmqz7sil9qdbr@localhost\",\"last-message-body\":\"{\\\"text\\\":\\\"nh\\\"}\"}}">>.Possible API mismatch - tried URL: <<"v2/notification/fdOXsUNXwHc:APA91bG2oIdmhrRZ5L3w2RCPE17sn9fur74LGYGnqHWl5p5o3Xr4Y-1YDhwjfhQAs4gLr7gOETsKDArL5wPuFXJGvoW2nrhr87DdAxvWpY0J4uh1ZuoZMTqn7w14vwg7kW48Lki9T8Xx">>.

11:46:00.383 [error] Unable to submit push notification. ErrorCode 460, Payload <<"{\"topic\":null,\"service\":\"fcm\",\"mode\":\"prod\",\"alert\":{\"title\":\"a9jpmqz7sil9qdbr@localhost\",\"tag\":\"a9jpmqz7sil9qdbr@localhost\",\"click_action\":null,\"body\":\"{\\\"text\\\":\\\"nh\\\"}\",\"badge\":1}}">>.Possible API mismatch - tried URL: <<"v2/notification/fdOXsUNXwHc:APA91bG2oIdmhrRZ5L3w2RCPE17sn9fur74LGYGnqHWl5p5o3Xr4Y-1YDhwjfhQAs4gLr7gOETsKDArL5wPuFXJGvoW2nrhr87DdAxvWpY0J4uh1ZuoZMTqn7w14vwg7kW48Lki9T8Xx">>.

No error in Docker

11:48:37.174 [debug] Sent 200 in 86ms
11:48:37.327 [debug] Sent 200 in 245ms
11:48:42.580 [debug] POST /v2/notification/dU5K-csGDQ8:APA91bH6V4ctXe_tFy8xE6jfCVLCbS4lMuEU4SlFxZqAF85Hb9I-eoZhRQCfCXSw-JenX8xJ5DYnfSDTyzdoj0JmizdRCmNnCDPecevQj3r6waoYQhRKE_xOKBNLDAQVifn7VzPDwsCX
11:48:42.582 [debug] POST /v2/notification/ffFcxJGqD7Q:APA91bHCGy6qA-i2dzjIVDxBvevo3hcCzbBXXB1JrdFclpalGwaWCdE3PAd-XtEKj9MIJxITnOA7E3l_lUkRPvQybGbGDAkH3sNBawRFekQEocxHnQxJize_BoY4I10GieYY0_4602Xd

Following are the config in mongooseim config file

   {mod_event_pusher, [
     {backends, [
       {push, [{wpool, [{workers, 100}]}]}
     ]}
   ]},
   {mod_pubsub, [
       {host, "pubsub.@HOST@"},
       {plugins, [<<"push">>]}
   ]},
   {mod_push_service_mongoosepush, [
      {pool_name, mongoose_push_http},
      {api_version, "v2"}
   ]}
{outgoing_pools, [
  {http, global, mongoose_push_http,
    [{strategy, available_worker}],
    [{server, "https://localhost:8443"}]}
]}.

Solution

  • The response code 460 corresponds to invalid device token. As you said in comment you installed/uninstalled the app multiple times. It is possible that all the old tokens are no longer valid and Mongoose gets the 460 error. The notification succeeds because at least one (most probably the newest) token is valid. In order to remove previously registered tokens you can deactivate the token as described in XEP-0357#disabling. I also recommend reading the tutorial regarding Push Notifications with MongooseIM and MongoosePush [3].

    The configuration you provided looks correct to me.