Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Saturday, 29 July 2023, 02:48 PM
3rd-party conf: UserRc of RCC doesn´t work with softphone

Hello,

I want to do realise/trigger a 3rd-party conference like it does the button in the phone app but from an external myApps JS Service App.

I tried the RCC Api, and it works with an innovaphone deskphone, but not if the user takes the myApps Softphone App.

Then I looked at what happens when you press the button in the phone app and in the softphone app from myApps. Here I was surprised that the phone app seems to use the EpSignal API and the softphone app the RCC API.

Because if the softphone app uses RCC, I would expect that the RCC API command UserRc also works with the myApps softphone, even if the SDK describes that it may only work with innovaphone ip-phones.

I then looked at the RCC commands sent in the softphone, but when I try to send them via the RCC API from service.js like in the phone app, it seems that the most commands are ignored.

If I try the EpSignaling commands from the PhoneApp, then it looks to work with the softphone. But I have not finally all the right commands, because one or two are long with a lot of parameters. Before I invest much more time to have maybe the last EpSignal commands also ready, I want to ask for the easiest solution to do that. In my opinion it should be done for the myApps softphone also like for the innovaphone deskphone and maybe I didn´t do it in the right way. I hope that the UserRc command of the RCC Api works for deskphone also for myApps softphone.

It would be great if you could help me soon before I spend much more time in something that’s maybe not the right way.

Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Sunday, 6 August 2023, 08:12 PM
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello,

I also noticed the following:
If you accept a call, then start another outgoing call, you can answer the first call in the phone app while the outgoing call is ringing with the green play button. And when the outgoing call is accepted, it is automatically connected to a 3rd party conference. But on the IP232 this is not shown as a conference on in the display, but all three participants are interconnected in an audio conference.
It is independent if you to the call handling with the myApps Phone App or with the ip232 display.

But if I want to do the same with the RCC API the outgoing call will be directly canceled. I take a call, then I do the outgoing call with UserCall and then I do a UserConnect with the call id of the first connected call then the second (outgoing call) is killed.

I think this process would be the most interesting for doing the needed 3rd-party-conference scenario. But what i am doing wrong or have to do in an other way that i could do it with the rcc or maybe with the EpSignal?
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Wednesday, 9 August 2023, 02:55 PM
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello,

i tried something with EpSignal, but the beavior seems to be not consistent.
If the first incomming call 999 to 300 is connected with the phone app, then a second outgoing call is done with the phone app and the "click" on the play button from the first call should be done with EpSignal, i recognized, that the command for softphone and hardphone is similar, but not identical.
Also the behavior of the softphone is not identical when the command is done by clicking on the button vs. sending the command by EpSignal.
Because when i send the EpSignal command, the play button doesn´t change but the interaction that all three parties are connected to each other works.

Example:
- incomming call from 999 to 300 will be connected
- outgoing call from 300 to 301

Then i also recognized that this way of doing 3rd-party-conf with the softphone app the 999 caller hear the ringing of the 301, but the "same" doing with a phone app (not a softphone app), the 999 doesn´t hear a ringing (thats good).

I also recognized that if i use the installed myApps client with a docked phone app but with the separate videostream window, the pushed html iframe has then NO websocket connection to the service.js of the iframe content. But if the videostream window is not seperated, then the pushed html iframe has its websocket connection. Why?

It would be great if you could explain it.
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Wednesday, 9 August 2023, 03:05 PM
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello,

once again.
I recognized also, that when i do this way of 3rd party conf that the softphone "del" the second call to the 301 and reconnect it (i see it in via rcc api), but when it is done with a deskphone the call 301 is not disconnected and connected again. Has this a technology reason?
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Wednesday, 9 August 2023, 04:56 PM in response to Daniel 450
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello,

here are the compared logs from RCC of User 300

Case1
1. 999 call 300 (softphone)
2. 300 take the call manually
3. 300 call manually 301
4. with the epsignal command 300 do 3rd party conf with 999 and 301: {"mt":"Signaling","api":EpSignalId,"call":x,"sig":{"type":"facility","fty":[{"type":"remote_retrieve"}]}} ));

Logs Case1:
- {"api":"RCC","src":"DMR UserInit","mt":"UserInitializeResult","user":1,"prefixIntl":"000","prefixNtl":"00","prefixSubs":"0","area":"2183"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":129,"conf":"39229985ed97445b8eb8e05cb83e1cfa","peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test"},"no":[{"type":"norm","e164":"999","h323":""}],"time":0,"msg":"r-setup"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":132,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":0,"msg":"x-alert"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":133,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":2,"msg":"x-conn"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":389,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":7,"msg":"update"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":3,"state":1,"conf":"b99df921e39d43e1a0540ccc34f09f74","peer":{"e164":"301","h323":""},"time":0,"msg":"x-setup"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":3,"state":4,"peer":{"cn":"MR-DMR","dn":"DM Anzeigename","e164":"301","h323":"DMR"},"time":0,"msg":"r-alert"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":133,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":9,"msg":"update"}


Case2
1. 999 call 300 (softphone)
2. 300 take the call manually
3. 300 call with RCC command 301: { api: "RCC", src: "test", mt: "UserInitialize", cn: cname, hw: provider }
4. with the epsignal command 300 do 3rd party conf with 999 and 301: {"mt":"Signaling","api":EpSignalId,"call":x,"sig":{"type":"facility","fty":[{"type":"remote_retrieve"}]}} ));

Logs Case2:
- {"api":"RCC","src":"DMR UserInit","mt":"UserInitializeResult","user":1,"prefixIntl":"000","prefixNtl":"00","prefixSubs":"0","area":"2183"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":129,"conf":"4a913afe62c74d5ab278f7908022af9d","peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test"},"no":[{"type":"norm","e164":"999","h323":""}],"time":0,"msg":"r-setup"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":132,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":0,"msg":"x-alert"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":133,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":2,"msg":"x-conn"}
- {"api":"RCC","src":"DMR UserCall","mt":"UserCallResult","call":3}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":389,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":7,"msg":"update"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":389,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":7,"msg":"update"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":3,"state":135,"conf":"20de2e1ea0d36401c690000c29bce2e4","peer":{"e164":"","h323":""},"time":0,"msg":"r-rel","info":[{"type":"cause","vali":0}]}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":3,"del":true,"state":135,"peer":{"e164":"","h323":""},"time":0,"msg":"del"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":4,"state":1,"conf":"bb7f506886be494e9f3371fa7ea345b8","peer":{"e164":"301","h323":""},"time":0,"msg":"x-setup"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":4,"state":4,"peer":{"cn":"MR-DMR","dn":"DM Anzeigename","e164":"301","h323":"DMR"},"time":1,"msg":"r-alert"}
- {"mt":"CallInfo","api":"RCC","src":"DMR UserInit","user":1,"call":2,"state":133,"peer":{"cn":"DMR-test","dn":"DMR-testDN","e164":"999","h323":"DMR.test","norm":"999"},"time":8,"msg":"update"}
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Wednesday, 9 August 2023, 05:45 PM in response to Daniel 450
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello again,

with all my tests i also recognized, if you have started a softphone, take a call and then close the softphone app with the "x" no active call is visualized anymore in the myApps Client. But you can reopen the softphone app and then the active call is shown directly. [tested on windows, there you see a windows popup, but maybe only if it is configured]. I think it would be great if the blue line at the top of the app will always shown, but i understand that the blue line depends on which phone app is open.

If i call a user with a deskphone and a softphone, there is no default app and the user opens the softphone app after the call is in alerting state, the softphone doesn´t show any alerting call. You can only see the alerting call on the deskphone. I think it would be great, if the call is also shown in the softphone when it opens.

I know that the sdk forum maybe not the right place to communicate that. But all these things i recognized in combination with the inital forum request. And maybe all these infos has to be considered together.
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Wednesday, 6 September 2023, 11:48 AM
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello,

could you please answer to this post if it is planed to also make the websocket communication in the docked out video frame of the phone app also possible like in the not docked out video frame?
Andreas Fink
Moderator Registered 12 years 346 days
Andreas Fink (innovaphone) Wednesday, 6 September 2023, 03:20 PM in response to Daniel 450
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello Daniel,

> with all my tests i also recognized, if you have started a softphone,
> take a call > and then close the softphone app with the "x" no active
> call is visualized > anymore in the myApps Client. But you can reopen
> the softphone app and then the active call is shown directly. [tested on
> windows, there you see a windows popup, but maybe only if it
> is configured]. I think it would be great if the blue line at the top of
> the app will always shown, but i understand that the blue line depends
> on which phone app is open.

The blue line is an iFrame provided by the phone app - this is by design and must be changed, in order to trigger this from another entity, e.g. myApps client itself or by the PBX, to fulfil your change request.

> If i call a user with a deskphone and a softphone, there is no
> default app and the user opens the softphone app after the call
> is in alerting state, the softphone doesn´t show any alerting call.
> You can only see the alerting call on the deskphone. I think it
> would be great, if the call is also shown in the softphone when it opens.

If an endpoint is added/registered on the PBX after a call is started, there is no catch up mechanisms on the PBX signalling, to replay previously sent call initiation messages to a newly added endpoint. We could change it, but it would be a significant change in the signalling handling on the PBX. So for this point, it is the same - by design.

I would suggest, you post this change requests in the product discussion forum, since it is not really related to SDK or API discussion.

Best Regards
Andreas Fink

Andreas Fink
Moderator Registered 12 years 346 days
Andreas Fink (innovaphone) Tuesday, 22 August 2023, 11:43 AM in response to Daniel 450
1 of 1 users consider this post helpful
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello Daniel,

The RCC API approach would be a recommended way. The reason is - EpSignal acts as a signalling bridge between the PBX and the endpoint and requires a deep call signalling integration.

For your requirement (start/stop 3rd party conference) is EpSignal an overkill. It should work with the RCC API.

The current implementation state of the Softphone in 13r3 (signalling implementation in the myApps client) allows to start a 3rd party conference by sending a UserRc message with remote control code 10. It will start a 3rd party conference on the specified call, if an additional call is available for retrieval.

Currently the moment the only rc code supported for 3rd party conferences is 10. This means that you cannot use 4 or 11 to toggle/stop the conference. We will extend this functionality, but the time frame is not defined at the moment. As workaround you have to use UserHold or UserClear to stop the conference.

Best regards
Andreas Fink
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Thursday, 31 August 2023, 01:09 PM
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Hello Andreas,

thank you for your answer. The Code 10 helps.

What i have to send, when i want to do the same like the green play button in the phone app or in the deskphone display. When a second outgoing call was startet and is in ringing state?
If i do a UserRetrieve or a UserConnect, the softphone app react to that, but the phone app doesn´t.
But if i click on the shown green play button maually, then i see with rcc that i got only a "undefined" update to the call, but in the browser log i see, that a UserRetrieve is send by the softphone app, also in the epSignal in the deskphone app i see a retrieve command.
But a UserRetrieve with RCC doesn´t work in with a deskphone. And a UserConnect disconnects the second ringing call.

I recognized in my tests, that the same phone app button clicks (without doing something with programmed commands) in the phone app and in the softphone app have a different behavior!
When i click on the green play button in the phone app, then i am reconect to the first call, in the softphone app the click on the phone app doesn´t connect realy to the first call, you here the ringing of the second call and not the partner of the first call but the visualisation in the softphone app shows, that i should be connected to the first call. Tested with V13r3 sr8

What do i wrong or which command i have to send, to "press the green play button" with a command?


Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Thursday, 31 August 2023, 03:21 PM
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Sorry to much testing. For Softphone everything should be fine but for a hardphone it doesn´t work with the retrieve command.

So only help for the right command to retrieve also the first call in the phone app of a deskphone is needed. To do the same like the green play button does in the phone app of a deskphone or like the green play button in the deskphone display.

Alternativley i could try to do it with my epSignal solution for deskphone and with rcc for softphone.
Picture of Daniel 450
Registered 14 years 103 days
Daniel 450 Thursday, 31 August 2023, 05:16 PM in response to Daniel 450
Re: 3rd-party conf: UserRc of RCC doesn´t work with softphone
Some added information for another scenario:

i tryed to call from user 999 (smartphone) to user 300 (win softphone in installed myApps), then i add a call to 300 (from the win softphone which take the call from 999) and on the second pc windows installed myApps client and the deskphone an incomming call is displayed.
A green button to take the call is shown in the second softphone and on the phone display i could also take the call. All this is done with clicking in the softphone ui.

I see that the softphone do first a "UserHold" and then a "UserCall".
If i do the same with this rcc commands i got a call on the deskphone and in the softphone. But in the second softphone i got shown only a red button to cancel the call not a green button to take the call. I controlled a lot and i think i have the right call id for the UserHold. I tried it also with no UserHold, but the same.

On the display of the deskphone and also with the phone app of the deskphone i could always take the call with a green button.

What could i change to do a call to my own number with rcc and see in the second softphone app also a green button to could take the call?
← You can define your color theme preference here