Picture of JiangNan
Registered 6 years 130 days
JiangNan Saturday, 24 September 2022, 04:35 AM
RCC contact center solution to support Master/Slave configuration
Hi there,

We have a contact center solution which currently supports single node(MASTER) setup only.

This solution currently is granted access to 'pbxAdminApi', 'pbxApi' and 'RccApi'. A 'app' object is configured to control a bunch of users/devices which are currently all hosted on MASTER.

We have a requirement to support MASTER/SLAVE configuration. If we convert this solution to support MASTER/SLAVE setup, we'd like to get some advice on the follow items:

  • Is the same 'app' object allowed to be used to control all interested users on all pbx instances? i.e. if we configure this 'app' object on MASTER, will it be replicated to all SLAVEs and use it for user control on SLAVE?
  • When we invoke 'Rcc/Initialize' from MASTER, would we get a list of 'UserInfo' which includes all users hosted on MATSER and SLAVEs?
  • Do we need to maintain a separated web socket connection to the pbx where the user is hosted to 'UserIntialize' on the user?
  • Do we need to maintain a separated web socket connection to the pbx where the user is hosted to issue any Rcc call control commands on the user and receive call status events?
  • Are the fields 'call' and 'conf' in Rcc/'CallInfo' unique cross all pbx instances?
  • Do we need to maintain a separated web socket connection to the pbx where the user is hosted to 'SubscribePresence' and receive presence status notification?
  • if we have to maintain separated web socket connection to each SLAVE, is that possible for us to use MASTER connection to work out a list of SLAVEs and its ip address so that we don't have to maintain a list of mapping for pbx cn and its ip address in our solution? I'm looking at 'pbxAdminApi' right now and seems there is no such linkage. Hope someone can offer me some insight on this.
Any help is appreciated!

Josie



Andreas Fink
Moderator Registered 13 years 167 days
Andreas Fink (innovaphone) Tuesday, 27 September 2022, 09:58 AM
Re: RCC contact center solution to support Master/Slave configuration
Hello Josie,


• Is the same 'app' object allowed to be used to control all interested users on all pbx instances? i.e. if we configure this 'app' object on MASTER, will it be replicated to all SLAVEs and use it for user control on SLAVE?

Yes, it will be replicated on all Slave PBXes and every PBX will setup a WS connection to the app service.


• When we invoke 'Rcc/Initialize' from MASTER, would we get a list of 'UserInfo' which includes all users hosted on MATSER and SLAVEs?

No, only from users registered on the master PBX.


• Do we need to maintain a separated web socket connection to the pbx where the user is hosted to 'UserIntialize' on the user?

Yes, you need to implement a list of PBX connections from corresponding PBXes.


• Do we need to maintain a separated web socket connection to the pbx where the user is hosted to issue any Rcc call control commands on the user and receive call status events?

Yes. Important detail: PBX connects to the app service.


• Are the fields 'call' and 'conf' in Rcc/'CallInfo' unique cross all pbx instances?

The call id is unique for the current WS API connection. A second connection to the same PBX will have unrelated call ids. Any call id information renders useless as soon the WS connection is closed.

The conf id is unique across the PBX system and the call boundaries. It is embedded in the call signalling.


• Do we need to maintain a separated web socket connection to the pbx where the user is hosted to 'SubscribePresence' and receive presence status notification?

As I know, it is not required to use the hosting PBX to subscribe for presence, since presence subscriptions are possible between the PBXes However, it would be more efficient way to do it directly on the PBX where the user is hosted.


• if we have to maintain separated web socket connection to each SLAVE, is that possible for us to use MASTER connection to work out a list of SLAVEs and its ip address so that we don't have to maintain a list of mapping for pbx cn and its ip address in our solution? I'm looking at 'pbxAdminApi' right now and seems there is no such linkage. Hope someone can offer me some insight on this.

There is usually no need for the app service to know the IP address of the PBX. The PBXes are connecting to the app service, so it is only necessary to handle incoming connections.


Best Regards
Andreas Fink
Picture of JiangNan
Registered 6 years 130 days
JiangNan Wednesday, 28 September 2022, 05:35 AM
Re: RCC contact center solution to support Master/Slave configuration
Hi Andreas,

Thank you for your response. It is very helpful.

With regrading to ip address of SLAVE pbx's:
I should clarify the design of our solution. The solution does not use 'app platform', instead it maintains a direct outbound WS connection to a specified pbx instance. This is the reason I'm asking if there is an API which allows us to find out its ip address base on the cn of the SLAVE on MASTER since we need it before creating outbound WS connection to it. Do you know if Innovaphone exposes such API?

Thanks

Josie
Andreas Fink
Moderator Registered 13 years 167 days
Andreas Fink (innovaphone) Friday, 30 September 2022, 05:52 PM
Re: RCC contact center solution to support Master/Slave configuration
Hi Josie,

we have no such API defined, but could extend PbxAdminApi by a function delivering the information required to establish a WS connection to the PBX, similar to LocationUrl of the SOAP API .

Best Regards
Andreas Fink
Picture of JiangNan
Registered 6 years 130 days
JiangNan Sunday, 2 October 2022, 08:21 PM
Re: RCC contact center solution to support Master/Slave configuration
Hi Andreas,

Great if Innovaphone can add a API for that. Do you know when you can deliver this API so we can estimate our work?

Thanks

Josie
Andreas Fink
Moderator Registered 13 years 167 days
Andreas Fink (innovaphone) Friday, 7 October 2022, 07:50 PM in response to JiangNan
Re: RCC contact center solution to support Master/Slave configuration
Hello Josie,

in the upcoming 13r2 release a new function in the PbxAdminApi is added - GetLocation to get relevant connection information required to build a WS URI.

It should be used together with GetNodes function (first perform GetNodes, than GetLocation for every PBX).

Best Regards
Andreas Fink


Picture of JiangNan
Registered 6 years 130 days
JiangNan Tuesday, 8 November 2022, 06:43 PM
Re: RCC contact center solution to support Master/Slave configuration
Hi Andreas,

Thank you very much for that!

Josie
Picture of JiangNan
Registered 6 years 130 days
JiangNan Tuesday, 15 November 2022, 02:02 AM
Re: RCC contact center solution to support Master/Slave configuration
Hi Andreas,

I have coded something up for MASTER/SLAVE setup for testing. During testing, I found the following issue:

RCC make call does not work for this kind of deployment for any type of destination: ext on the same pbx instance or different instance or external.

Is that to do with our environment running in test mode?

I verified the same implementation on a standalone IPVA and RCC make call works as expected.

I have logged a ticket for this: ###349540### Rcc make call failure when Innovaphone is setup in multi-nodeMASTER/SLAVES

Would be much appreciated if you can take a look and let me know what went wrong?

Thanks

Josie
Picture of JiangNan
Registered 6 years 130 days
JiangNan Monday, 14 November 2022, 03:03 AM in response to Andreas Fink (innovaphone)
Re: RCC contact center solution to support Master/Slave configuration
Hi Andreas,

We started to enable MASERT/SLAVE configuration in our product while waiting for your release coming out and come cross another issue:

Use 'GetNodes' to retrieve a list of nodes from MASTER then use 'GetObject' to retrieve the configuration data of the node. The test indicates "GetObject" only allows 'long name' for the parameter 'cn' while the field we receive from 'GetNodes'=>'node' is 'name' so it fails on 'GetObject' with cn/name. Is there any work round for this since we don't know "guid" of the node object either?

With the new API "GetLocation": I assume it will allow 'name'?

Thanks!

Josie
Andreas Fink
Moderator Registered 13 years 167 days
Andreas Fink (innovaphone) Wednesday, 16 November 2022, 12:59 PM
Re: RCC contact center solution to support Master/Slave configuration
Hello Josie,

the latest release of 13r2 PBX firmware contains already the GetLocation message support:
https://sdk.innovaphone.com/13r2/doc/appwebsocket/PbxAdminApi.htm#GetLocation

And yes, GetNodes and GetLocation can be used subsequently because both operates with VoIP name/h323-id. The GetNodesResult info can be passed directly to the GetLocation request.

However it is not easy to add the Long Name/cn to the GetNodesResult because of internal data structure design.

As a workaround you could replicate all PBX Objects from the PBX to your App Service with cn, guid and name properties and lookup for the specific cn/guid in your local PBX list.

Best Regards
Andreas Fink
Andreas Fink
Moderator Registered 13 years 167 days
Andreas Fink (innovaphone) Wednesday, 16 November 2022, 02:04 PM in response to JiangNan
Re: RCC contact center solution to support Master/Slave configuration
Hello Josie,

good news - i just dug deeper into GetObject implementation, there is a fallback to "h323" property if guid or cn was not provided.

This means you can pass the "name" property value of the GetNodesResult straight to the "h323" property in the GetObject request.

I will clarify the documentation update for this.

Best Regards
Andreas Fink
Picture of JiangNan
Registered 6 years 130 days
JiangNan Thursday, 17 November 2022, 03:46 AM
Re: RCC contact center solution to support Master/Slave configuration
Hi Andreas,

Good news as well!

I have implemented a solution to retrieve the settings of the node object as you suggested to use 'h323' field and it works.

Thank you very much for that!

I have a general question on the number plan:

Is shared extension number between nodes a common scenario for Innovaphone customers?

Josie
Andreas Fink
Moderator Registered 13 years 167 days
Andreas Fink (innovaphone) Thursday, 29 December 2022, 05:49 PM
Re: RCC contact center solution to support Master/Slave configuration
Hello Josie,

I'm sorry for the long delay.

> I have a general question on the number plan:
>
> Is shared extension number between nodes a common scenario for Innovaphone customers?

Not sure exactly what do you mean by "shared extension". Maybe a flat numbering plan, as described here?
http://wiki.innovaphone.com/index.php?title=Course11:Advanced_-_Distributed_PBX

If so, that yes.

Best Regards
Andreas Fink
← You can define your color theme preference here