Skip to main content

Hi. I'm new to developing. The more and more I work with the ring central platform apis the more and more my confidence grows. So thank you for the amazing documentation. My question is related to ringouts and presence. Im currently building out a system that centrally places ringout calls to users deskphones and manages their ring central presence. The server is logged into one specific ring central account to manage all extentions related to that account. When I complete and connect the ringout call from the server, the user I rangout to's presence doesn't change (nor did their telephonyStatus). However, the central account I'm using I called with did. I've seen a few threads on here about updating presence, which will work for this potentially. But has me a bit cautious to use. My system is dependent on ring centrals presence being accurate as my users do not make 100% of the calls out of this system. Is there another way to make this a possibility?

Brandon,

Very happy to hear that.   

Regarding your doubt on Ringout on behalf of the user, could you please verify if you are subscribed to the To's extension using the central account?

Based on your summary above it looks like you are using the Central account to subscribe to the agent's presence status ( telephony and presence events ) but I am not quite sure if you are listening to the inbound/outbound events on the To's extension, please make sure to add the event filter :

If you are using subscription service, you need to specify the event filters: https://developer.ringcentral.com/apidocs/latest/index.html#!#RefGetDetailedExtensionPresenceEvent for all the extensions. 

Could you please verify if you are subscribed to all the extensions. For more information, you can also take a look at our tutorial to set up the subscription on all extensions here :
https://ringcentral-tutorials.github.io/subscription-basics-nodejs-demo/


Hi Brandon,

I did a small experiment to replicate the scenario that you have mentioned. Per which : 

1.) I am subscribed to extension's 101 and 103  separately. 
2.) I initiate a RingOut from Ext 103 with the body being :
from: Ext 101
to : PSTN Number
I would see the presence events for both Ext 101 and 103. Kindly verify if this is what you are trying to achieve.


Hi AK, Yes that's what I'm trying to achieve. User 103 making a ringout call for user 101. (It'll be ringing at 101's deskphone before connecting to the client). I would expect user 101's presence to adjust to getting the call. But what I'm seeing is user 103 presence changing do to this. I've also made sure I'm subscribed to users. I've seen a few threads on here that presence is directly related to one account/extension. IE: 103 making a ringout for 101, presence for 103 equals what 101 should be. Is that still hold true?
The presence events for 103 ( who is making RingOut for 101 ) would resemble something like this :
"activeCalls": [
      {
        "id": "",
        "direction": "Outbound",
        "fromName": "Ext 101 Name",
        "from": "Ext 101 Number",
        "toName": "PSTN Name",
        "to": "+PSTN Number",
        "telephonyStatus": "Ringing",
        "sessionId": "162077541020",
        "startTime": "2017-08-16T02:31:49.394Z"
      }
    ],
However, for the Ext 101 which is the (from) number of the RingOut initiated by Ext 103, you would receive presence events which would resemble something like this :

"activeCalls": [
      {
        "id": "",
        "direction": "Inbound",
        "fromName": "+PSTN Name",
        "from": "PSTN Number",
        "toName": "Ext 101 Name",
        "to": "Ext 101 Number",
        "telephonyStatus": "Ringing",
        "sessionId": "162077541020",
        "startTime": "2017-08-16T02:31:49.394Z"
      }
    ],
With 101's perspective since this is a RingOut, the first leg of the call is from the PSTN ( client ) to the Extension itself ( Inbound Call )

Brandon, does that answer your question ?

Oh gotcha. I see now. Super helpful AK! Thanks!

Reply