Hi,
I want to get all extension and corresponding phone numbers in ccxml. Hence I have created the website which responses back plain/text output required for ccxml <send>.
some how <send> is not working. the IVR is not getting connected saying 'Your call can not be completed at this time' and ccxml session gets destroyed.
Please find below the ccxml script and logs. Any help is more appreciated.
I send two parameters two web page as 'http://82.112.226.108:9095/MediaServerResponse.plaintext?Method=GetExtension&PhoneNumber=02089030278'
which responses back with
GetExtensionSuccessful
SiteExtensions=636,637,618
SitePhoneNumbers=02086340636,02086340637,02086340618
media server version is Rel_17.0_1.458.
---------- ccxml script is --------------
<?xml version="1.0" encoding="UTF-8"?>
<ccxml version="1.0" xmlns="http://www.w3.org/2002/09/ccxml">
<var name="incomingCallConnId" expr="''" />
<var name="outgoingCallConnId" expr="''" />
<var name="currentState" expr="'initial'" />
<var name="confID" expr="''"/>
<var name="dialogId" expr="''" />
<var name="vxml_maxtime"/>
<var name="URI"/>
<var name="maxtime_sendid"/>
<var name="results"/>
<var name="callerId" expr="''" />
<var name="transferId" expr="''" />
<var name="site_phonenumbers" expr="''" />
<var name="site_extensions" expr="''" />
<var name="Method" expr="'GetExtension'" />
<var name="PhoneNumber" expr="'01241730117'" />
<eventprocessor statevariable="currentState" >
<transition state="initial" event="connection.alerting">
<log expr="'We like you! We are going to answer the call.'"/>
<log expr="'SIP request URI user=' + event$.info.sip.requesturi.user" />
<log expr="'SIP request URI host=' + event$.info.sip.requesturi.host" />
<assign name="incomingCallConnId" expr="event$.connectionid"/>
<assign name="callerId" expr="event$.connection.remote.replace('@bbtnet.co.uk', '')" />
<accept/>
<send target="'http://82.112.226.108:9095/MediaServerResponse.plaintext?Method=GetExtension&PhoneNumber=02089030278'" targettype="'basichttp'" name="'GetExtensionSuccessful'" namelist="PhoneNumber" />
</transition>
<transition state="initial" event="send.successful" >
<log expr="'Sent authorization request to basic http processor successfully.'"/>
</transition>
<transition state="initial" event="send.failed" >
<log expr="'Sending events to external basic http processor failed.'"/>
</transition>
<transition state="initial" event="GetExtensionSuccessful">
<assign name="site_extensions" expr="event$.SiteExtensions"/>
<log expr="'Site Extensions are ---- ' + event$.SiteExtensions" />
<assign name="site_phonenumbers" expr="event$.SitePhoneNumbers"/>
<log expr="'Site phone numbers are ---- ' + event$.SitePhoneNumbers" />
</transition>
<transition event="GetExtensionFailed">
<log expr="'GetExtensionFailed --- '" />
</transition>
<transition event="InvalidMethodFailed">
<log expr="'InvalidMethodFailed --- '" />
</transition>
<transition event="error.send">
<log expr="'Sending failed ----- '" />
</transition>
<transition state="initial" event="connection.connected">
<log expr="'Incoming call is answered; originating call to other party'" />
<send targettype="'ccxml'" name="'start.dialog'" target="session.id" delay="'0s'"/>
</transition>
<transition event="start.dialog" state="initial">
<dialogprepare connectionid="incomingCallConnId" type="'application/voicexml+xml'" src="'main.vxml'" />
</transition>
<transition event="dialog.prepared" state="initial">
<log expr="'-- ' + event$.name +' -- [' + currentState +']'"/>
<assign name="dialogId" expr="event$.dialogid"/>
<dialogstart prepareddialogid="dialogId" connectionid="incomingCallConnId" />
<assign name="currentState" expr="'connestablished'" />
</transition>
<transition event="dialog.started" >
<log expr="'Dialog is running...'"/>
</transition>
<transition state="connestablished" event="dialog.transfer">
<assign name="transferId" expr="event$.URI" />
<log expr="' -- Transfering Call to : ' + transferId + ' ----------- '"/>
<redirect dest="transferId"/>
</transition>
<transition state="redirecting" event="connection.redirected">
</transition>
<transition state="redirecting" event="connection.failed">
</transition>
<transition state="redirecting" event="dialog.exit">
<exit/>
</transition>
<transition event="connection.disconnected">
<log expr="'Call has been disconnected. Ending CCXML Session.'"/>
<exit/>
</transition>
<transition event="connection.failed">
<log expr="'Connection '+ event$.connectionid + ' failed, ending CCXML Session.'"/>
<exit/>
</transition>
</eventprocessor>
</ccxml>
---------- vxml script -----------------
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml">
<meta name="maintainer" content="abc@inclarity.co.uk" />
<menu id="menu0">
<prompt>
<audio src="/group/broadsoft/01620500833/secret_sales_menu_1.wav" />
</prompt>
<choice dtmf="1" next="#menu0_2" />
<choice dtmf="2" next="#menu0_3" />
</menu>
<form id="menu0_2">
<block>
<goto next="#ask0_2_1" />
</block>
</form>
<form id="menu0_3">
<block>
<goto next="#tfr0_3_1" />
</block>
</form>
<form id="ask0_2_1">
<field name="requestedExtension">
<grammar type="application/sgrs+xml" src="/group/broadsoft/dtmf3digits.grxml" />
<prompt>
<audio src="/group/broadsoft/PromptForExtension.wav">
Please dial the four digit extension of the party you want to reach.
</audio>
</prompt>
<noinput>
<log label="autoattendant - getextension">noinput</log>
<prompt>
<audio src="/group/broadsoft/PromptForExtension.wav" />
</prompt>
</noinput>
<filled>
<log label="autoattendant - getextension">
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ------------- wwwwwwwwwwww digits entered <value expr="requestedExtension" /></log>
<assign name="transferToParty" expr="requestedExtension$.utterance.replace('','', 'g' )" />
<log label="autoattendant - getextension">
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ------------- wwwwwwwwwwww digits entered <value expr="requestedExtension" /></log>
<log label="autoattendant - transferToParty">
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ------------- wwwwwwwwwwww digits entered <value expr="transferToParty" /></log>
<goto next="#transfer" />
</filled>
</field>
</form>
<form id="tfr0_3_1">
<transfer name="tfr0_3_1" dest="01620500998" bridge="true" />
</form>
<var name="transferToParty" />
<form id="transfer">
<block>
<log label="autoattendant - transfer">
Initiating transfer to <value expr="transferToParty" /></log>
</block>
<transfer name="transferresult" connecttimeout="30s" destexpr="transferToParty" bridge="true" />
<catch event="error.unsupported.transfer.blind">
<log label="autoattendant - transfer">blind transfer is not supported</log>
<prompt>
<audio src="/group/broadsoft/InvalidMenuInput.wav" />
</prompt>
<goto next="#askDigits" />
</catch>
<catch event="error.connection.baddestination">
<log label="autoattendant - transfer">Wrong number</log>
<prompt>
<audio src="/group/broadsoft/InvalidMenuInput.wav" />
</prompt>
<goto next="#askDigits" />
</catch>
<catch event="error.connection.noresource">
<log label="autoattendant - transfer">Network busy</log>
<prompt>
<audio src="/group/broadsoft/NetworkUnavailable.wav" />
</prompt>
<exit expr="'error.connection.noresource'" />
</catch>
</form>
</vxml>
---------- ccxml logs are ---------------
2013.03.08 13:56:10:295 GMT | Info | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Session] "N/A" : init
2013.03.08 13:56:10:295 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Session] "N/A" : CcxmlSession::msgProcThreadFn
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Method call> [BroadWorks CCXML Connection] "N/A" : initCcxmlSession
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Connection] "N/A" : Connection::init connectionId:ccxmlConn_10308
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Session] "N/A" : add - creating binding for callId: 892
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Session] "N/A" : CcxmlSession::msgProcThreadFn - sending CcxmlSessionCreated
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Method call> [BroadWorks CCXML Connection] "N/A" : alerting
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Method call> [BroadWorks CCXML Connection] "N/A" : alerting connectionInfo details:
{
local_uri: "ivr_11893_0@bbtnet.co.uk",
remote_uri: "01620500997@bbtnet.co.uk",
protocol_name: "sip",
protocol_version: "2.0",
redirect: [
{
uri: "unknown",
pi: "unknown",
si: "unknown",
reason: "unknown"
}
],
aai: "unknown",
remote_originator: true,
sip: {
requesturi: {
user: "dialog",
host: "ms1",
ccxml: "http://82.112.234.48/group/broadsoft/01620500833/main.ccxml"
},
media: {
0: {
type: "audio",
direction: "sendrecv"
}
},
headers: {
via: "SIP/2.0/UDP 10.1.0.11;branch=z9hG4bKBroadWorks.-1p9vvku-10.1.0.31V5060-0-623168734-1792188045-1362750970298-
",
from: ""Dhanaji Shinge Pune Office"<sip:01620500997@bbtnet.co.uk;user=phone>;tag=1792188045-1362750970298-
",
to: ""Test Ext ivr_11893_0"<sip:ivr_11893_0@bbtnet.co.uk;ccxml=http://82.112.234.48/group/broadsoft/01620500833/main.ccxml>
",
call-id: "BW135610298080313200615308@10.1.0.11
",
cseq: "623168734 INVITE
",
contact: "<sip:10.1.0.11:5060>
",
supported: "100rel,timer
",
allow: "ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER,NOTIFY,UPDATE
",
accept: "multipart/mixed,application/dtmf-relay,application/media_control+xml,application/sdp,application/x-broadworks-call-center+xml
",
min-se: "60
",
session-expires: "1800;refresher=uac
",
max-forwards: "60
",
content-type: "application/sdp
",
content-length: "340
"
}
}
}
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Method call> [CCXML Session Interpreter] "BEGIN" : IOtCcxmlTelHwConnEvents::sendConnectionAlerting()
protocol : sip
local : ivr_11893_0@bbtnet.co.uk
remote : 01620500997@bbtnet.co.uk
aai : aai
substate : N/A
connectionId : ccxmlConn_10308
2013.03.08 13:56:10:296 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Method call> [CCXML Session Interpreter] "END" : IOtCcxmlTelHwConnEvents::sendConnectionAlerting()
retValue : 0
connectionId : ccxmlConn_10308
2013.03.08 13:56:10:300 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Session] "N/A" : destroyCcxmlSession
2013.03.08 13:56:10:300 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Session] "N/A" : msgProcThreadFn terminating upon request
2013.03.08 13:56:10:300 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Method call> [CCXML Session Interpreter] "BEGIN" : IOtTelHwConnection::destroy()
connectionId : ccxmlConn_10308
2013.03.08 13:56:10:300 GMT | Debug | SessionFile
{main.ccxml-01620500997-2013.03.08-13.56.10-298} <Session tracking> [BroadWorks CCXML Connection] "N/A" : Connection::destroy callid:892