Author Message
frade
Joined: Dec 1, 2014
Messages: 49
Offline
Good Morning Experts!

I hope you can help me with a CCXML doubts. I have implemented a CCXML application that firts recieve the inbound call. In the alerting transition of the inbound call, I create a new call, and if this new call is a live person, i need to join both, but outside of CCXML...what i mean is I need to reléase resources in Experience Portal (Telephony ports and Call Classification licenses)

Is this posible? I try the <redirect> and <merge>...but the only one it Works is the <join> one, but the <join> still mantain the resources on Experience Portal...

Part of my code:

<transition event="connection.alerting" state="init" >
<assign name="in_connectionid" expr="event$.connectionid"/>
<createcall dest="phone"
connectionid="out_connectionid"
timeout="30000"
callerid="session.connections[event$.connectionid].remote"
hints="hints" />

</transition>

<transition event="connection.signal" >

<if cond="event$.info.callprogress == 'live_voice'">
<log expr="' *** Got a live one\n CALLPROGRESS=' +event$.info.callprogress "/>

<accept connectionid="in_connectionid" />

<assign name="VxmlTst" expr="app_uri + 'prompts/livevoice.wav'"/>
<dialogstart dialogid="dialogid" src="VxmlTst" connectionid ="in_connectionid" type="'audio/wav'"/>

<redirect connectionid="in_connectionid" dest="in_connectionid"/>
</transition>

Many Thanks
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
<redirect> should work. You need to do it under connection.connected or connection.alerting. For example:

This is taken out of one of our sample apps called RouteToPhoneNumber. You should take a look at that sample app.
<transition event="connection.connected" >
<log expr="'-- ' + event$.name"/>
<log expr="' eventdata... \n' + objectToString(event$)"/>
<!--
redirect the call use 'OnProceeding' for BlindTransfer
and use 'OnConnected' for consulted Transfer. If
doing consulted transfer then you also want to set
dialog_values.TransferTimeout to the connection time out
or the amount of time to let it ring before it is decided
that the call is a ring no answer.

'OnProceeding' or blind transfer is the default if neither
is specified. createcall defaults to OnConnected.
-->
<var name="dialog_values" expr="new Object();"/>
<assign name="dialog_values.ConnectWhen" expr="'OnProceeding'"/>
<redirect connectionid="in_connectionid" dest="routing"/>
</transition>
frade
Joined: Dec 1, 2014
Messages: 49
Offline
Thanks WilsonYu,

I try what you told me, and is correct, i can use redirect in the connection.connected transition, but it doenst work as I expected.

What I need is to join the two calls, but outside of CCXML...releasing resources in Experience Portal (Telephony ports and Call Classification licenses).
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
<join> sets up a conference call with the EP port. That's how it works. Can't change the specs.
frade
Joined: Dec 1, 2014
Messages: 49
Offline
WilsonYu wrote:<join> sets up a conference call with the EP port. That's how it works. Can't change the specs.


Hi again WilsonYu.
Yes, join is good if you want to conference with EP, but I need to release EP ports.
If I use redirect, I only can use it like this:
<redirect connectionid="out_connectionid" dest="'13001'"/>

where 13001 is a VDN, but taking in account my code I post before, I can't do:
<redirect connectionid="out_connectionid" dest="in_connectionid"/>
it result an error

I need to join my CCXML incoming call with the new call i create, but after this join, need to relelase both ports in EPM.

does it make sense for you what I need? do you think is posible?

Thanks a lot for your help WilsonYu. Sorry for disturb you
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
I don't see anyway to release the port that controls the conference.
frade
Joined: Dec 1, 2014
Messages: 49
Offline
Hi Wilson,

Finally i could releae the ports using <merge>.

Thanks a lot for your help.
Go to:   
Mobile view