Table Of Contents
Provider and Application Interactions
XCC
Interaction Between the XCC Provider and Application
Message Examples
Interaction Between the Application, XCC Provider, and XCC Call
Message Examples
Interaction Between the Application and XCC Connection
Examples of XCC Message Exchange in the Connection State
Interaction for Call Authorization with an Immediate Response
Interaction for Call Authorization with a Delayed Response
Interaction During Digit Collection with an Immediate Response
Interaction During Digit Collection with a Delayed Response
XSVC
Interaction Between the XSVC Provider, Application, and Route Object
Message Examples
Interaction between the Application and the XSVC Provider
XCDR
Interaction Between the XCDR Provider and Application
Message Examples
Provider and Application Interactions
This section describes the interaction and sequence of messages that take place between the providers on the voice gateway and the application.
XCC
This section describes some of the interactions that takes place between the XCC provider and the application.
Interaction Between the XCC Provider and Application
Figure A-1 shows the interaction and the sequence of messages that are exchanged between the application and the XCC provider during registration.
Figure A-1 Message interaction when the application registers with XCC Provider
Message Examples
This section provides examples of message exchanges between the application and the XCC provider.
Example of a Registration Message Exchange
The following is an example of the RequestXccRegister message sent by the application requesting registration and setting up the connection event and media event filters.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<RequestXccRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<url>http://test.com:8090/xcc</url>
<blockingEventTimeoutSec>1</blockingEventTimeoutSec>
<blockingTimeoutHandle>CONTINUE_PROCESSING</blockingTimeoutHandle>
<connectionEventsFilter>CREATED AUTHORIZE_CALL ADDRESS_ANALYZE REDIRECTED ALERTING
CONNECTED TRANSFERRED CALL_DELIVERY DISCONNECTED HANDOFFLEAVE
HANDOFFJOIN</connectionEventsFilter>
<mediaEventsFilter>MODE_CHANGE DTMF TONE_BUSY TONE_DIAL TONE_SECOND_DIAL
TONE_RINGBACK TONE_OUT_OF_SERVICE MEDIA_ACTIVITY</mediaEventsFilter>
<transactionID>11111d</transactionID>
<url>http://10.1.1.1:8090/cisco_xcc</url>
The following is an example of a ResponseXccRegister message sent from the XCC provider in response to the application's registration request. The registration ID is used in all messages during the registered session:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXccRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>11111d</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<providerStatus>IN_SERVICE</providerStatus>
I/O warning : failed to load external entity "ResponseXCCRegister.txt"
mcebu-reg-ex2:428> xmllint --format xmlResponseXCCRegister > ResponseXCCRegister.txt
mcebu-reg-ex2:429> more ResponseXCCRegister.txt
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXccRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>11111d</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<providerStatus>IN_SERVICE</providerStatus>
Example of a Change in Service Message
The following is an example of a NotifyXccStatus message sent from the gateway when the XCC shuts down.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXccProviderStatus xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>43257C78:F4</transactionID>
<url>http://mcebu-reg-ex2.cisco.com:8090/xcc</url>
<url>http://172.19.149.185:8090/cisco_xcc</url>
<providerStatus>SHUTDOWN</providerStatus>
</NotifyXccProviderStatus>
Example of the Application Requesting to be Unregister
The following is an example of a RequestXccUnRegister message sent from an application when it no longer needs the provider's services.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<SolicitXccProviderUnRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>152EF0C4:8F</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
</SolicitXccProviderUnRegister>
Example of a Keepalive Probing Message
The following is an example of the SolicitXccProbing message sent from the XCC provider to maintain an active registration session.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<SolicitXccProbing xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>152EC69C:89</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<failureCount>0</failureCount>
<registered>true</registered>
<providerStatus>IN_SERVICE</providerStatus>
The following is an example of the ResponseXccProbing message sent from the application responding to the XCC provider probing message.
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<ResponseXccProbing xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<registrationID>62199E50:XCC:myapp:34</registrationID>
<transactionID>621B7310:346</transactionID>
Example of the Provider Shutting Down
The following is an example of the SolicitXccProviderUnRegister message sent from the XCC provider when it enters the shutdown state.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<SolicitXccProviderUnRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>152EF0C4:8F</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
</SolicitXccProviderUnRegister>
Interaction Between the Application, XCC Provider, and XCC Call
Figure A-2 shows the interaction between the application, XCC provider, and XCC call for a call and the sequence of messages that are exchanged between the application and the XCC provider.
Figure A-2 Message interaction when a call comes in
Message Examples
This section provides examples of message exchanges between the application and the XCC provider during a call.
Example of the Application Setting Call Media Attributes.
The following is an example of a RequestXccCallMediaSetAttributes message sent from application notifying the provider of the media attributes for a call.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<RequestXccCallMediaSetAttributes xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<registrationID>D3868:XCC:myapp:5</registrationID>
<transactionID>D5494:5B</transactionID>
</RequestXccCallMediaSetAttributes>
The following is an example of the ResponseXccCallMediaSetAttributes message sent from the a XCC provider in response to the application's media set attribute request.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXccCallMediaSetAttributes xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>D5494:5B</transactionID>
<registrationID>D3868:XCC:myapp:5</registrationID>
</ResponseXccCallMediaSetAttributes>
Example of a Change in Call Mode
The following is an example of a NotifyXccCallData message sent from the XCC provider notifying the application that the call mode has changed from modem to fax mode.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http:// www.w3.org/2003/05/soap-envelope">
<transactionID>2336EF94:BC</transactionID>
<registrationID>23362C88:XCC:myapp:7</registrationID>
Example of a DTMF Detection
The following is an example of a NotifyXccCallData message sent from the XCC provider notifying the application that the number 1 digit on the keypad has been pressed.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<transactionID>491100E4:2E5</transactionID>
<registrationID>4910E328:XCC:myapp:29</registrationID>
<dateTime>*01:35:04.111 UTC Sun Oct 4 1970</dateTime>
Example of Call Media Forking
The following is an example of a RequestXccCallMediaForking message sent from the application requesting that the media stream for the call session be forked. The application must include two unique RTP ports—nearEndAddr element for the forked TX media stream and the farEndAddr XCC element for the RX media stream
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<RequestXccCallMediaForking xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<registrationID>4C21504:XCC:myapp:3</registrationID>
<transactionID>4C23C6C:2FE</transactionID>
</RequestXccCallMediaForking>
The following is an example of the NotifyXccCallData message sent from the XCC provider to the application with information on the status of the media forking.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<transactionID>4C252A4:2FF</transactionID>
<registrationID>4C21504:XCC:myapp:3</registrationID>
<mediaForkingState>STARTED</mediaForkingState>
The following is an example of the ResponseXccCallMediaForking message sent from the XCC provider in response to the application's media forking request.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXccCallMediaForking xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>4C23C6C:2FE</transactionID>
<registrationID>4C21504:XCC:myapp:3</registrationID>
</ResponseXccCallMediaForking>
Interaction Between the Application and XCC Connection
The following section describes the interaction between the application, XCC provider and XCC Connection.
Examples of XCC Message Exchange in the Connection State
The following is an example of a notification message sent from the XCC provider notifying the application of a connection creation event.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>152E6854:69</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<guid>DDAAE040-7F44-11E0-831A-D2E9BAD25129</guid>
<connIntfType>CONN_SIP</connIntfType>
<connIntf>9.10.31.254</connIntf>
<routeName>SANJOSE_SIP</routeName>
<routeDescription>IN</routeDescription>
<connDirectionType>INCOMING</connDirectionType>
</NotifyXccConnectionData>
Interaction for Call Authorization with an Immediate Response
Figure A-3 illustrates the call interaction when an application responds immediately to a call authorization solicit message from the XCC provider.
Figure A-3 Call Interaction when the application responds immediately to a call
The following example is the SolicitXccConnectionAuthorize message sent from the XCC provider asking for authorization to continue processing the call.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<SolicitXccConnectionAuthorize xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>152E6854:6A</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<state>AUTHORIZE_CALL_ATTEMPT</state>
<guid>DDAAE040-7F44-11E0-831A-D2E9BAD25129</guid>
<connIntfType>CONN_SIP</connIntfType>
<connIntf>9.10.31.254</connIntf>
<routeName>SANJOSE_SIP</routeName>
<routeDescription>IN</routeDescription>
<connDirectionType>INCOMING</connDirectionType>
</SolicitXccConnectionAuthorize>
Upon authentication, the application immediately sends a response. The following example is the response message (ResponseXccConnectionAuthorize) from the application to continue processing the call.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<ResponseXccConnectionAuthorize xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<action>continueProcessing</action>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<transactionID>152E6854:6A</transactionID>
</ResponseXccConnectionAuthorize>
Interaction for Call Authorization with a Delayed Response
Figure A-4 illustrates the call interaction when an application cannot respond immediately to a call authorization solicit message from the XCC provider. The application can request that the XCC provider temporarily block the call.
Figure A-4 Call Interaction when the application has a delayed response
Interaction During Digit Collection with an Immediate Response
Figure A-5 shows the call interaction after an application has sent a message to the XCC provider to continue the call and begin collecting digits. The application is able to respond immediately.
Figure A-5 Call Interaction when the application responds immediately upon digit collection
The following example is the SolicitXccConnectionAddressAnalyze message sent from the XCC provider with call information for the application.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<SolicitXccConnectionAddressAnalyze
xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>152E6B18:6B</transactionID>
<registrationID>152E034C:XCC:myapp:5</registrationID>
<state>ADDRESS_ANALYZE</state>
</SolicitXccConnectionAddressAnalyze>
Interaction During Digit Collection with a Delayed Response
Figure A-6 shows the call interaction after an application has sent a message to the XCC provider to continue to begin collecting digits, but the application is unable to respond immediately.
Figure A-6 Call Interaction when the application has a delayed response to digit collections
Notification Examples
The following example is the NotifyXccConnection message sent from the XCC provider letting the application know that an outgoing call is being connected.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>490D843C:2C9</transactionID>
<registrationID>490D710C:XCC:myapp:28</registrationID>
<guid>B64EC537-872C-11E0-8FBC-A55F7D9A8E13</guid>
<connIntfType>CONN_SIP</connIntfType>
<coderType>g711ulaw</coderType>
<coderByte>160</coderByte>
<connIntf>9.10.21.254</connIntf>
<connDirectionType>INCOMING</connDirectionType>
</NotifyXccConnectionData>
The following example is the NotifyXccConnection message sent from the XCC provider letting the application know that a transferred event has occurred.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>48EE6610:2B2</transactionID>
<registrationID>48EDDDC8:XCC:myapp:27</registrationID>
<state>DISCONNECTED</state>
<coderType>g711ulaw</coderType>
<coderByte>160</coderByte>
<callDuration>PT7.46S</callDuration>
<TxPacketsCount>365</TxPacketsCount>
<TxBytesCount>58400</TxBytesCount>
<TxDurationMSec>0</TxDurationMSec>
<TxVoiceDurationMSec>0</TxVoiceDurationMSec>
<RxPacketsCount>359</RxPacketsCount>
<RxBytesCount>57440</RxBytesCount>
<RxDurationMSec>0</RxDurationMSec>
<RxVoiceDurationMSec>0</RxVoiceDurationMSec>
<discCause>16</discCause>
<routeTripDelayMSec>0</routeTripDelayMSec>
<onTimeRvPlayMSec>0</onTimeRvPlayMSec>
<gapFillWithPredicationMSec>0</gapFillWithPredicationMSec>
<gapFillWithInterpolationMSec>0</gapFillWithInterpolationMSec>
<gapFillWithRedundancyMSec>0</gapFillWithRedundancyMSec>
<lostPacketsCount>0</lostPacketsCount>
<earlyPacketsCount>0</earlyPacketsCount>
<latePacketsCount>0</latePacketsCount>
<receiveDelayMSec>0</receiveDelayMSec>
<loWaterPlayoutDelayMSec>0</loWaterPlayoutDelayMSec>
<hiWaterPlayoutDelayMSec>0</hiWaterPlayoutDelayMSec>
</NotifyXccConnectionData>
The following example is the NotifyXccConnection message sent from the XCC provider letting the application know that a transfer handoff leave event has occurred.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>48EE65AC:2AC</transactionID>
<registrationID>48EDDDC8:XCC:myapp:27</registrationID>
</NotifyXccConnectionData>
The following example is the NotifyXccConnection message sent from the XCC provider letting the application know that a transfer handoff join event has occurred.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
<transactionID>48EE65AC:2AD</transactionID>
<registrationID>48EDDDC8:XCC:myapp:27</registrationID>
<guid>99CFA037-F5F2-11B2-8255-AC403F9877FF</guid>
<connIntfType>CONN_SIP</connIntfType>
<coderType>g711ulaw</coderType>
<coderByte>160</coderByte>
<connIntf>9.10.31.254</connIntf>
<routeName>SANJOSE_SIP</routeName>
<routeDescription>IN</routeDescription>
<connDirectionType>OUTGOING</connDirectionType>
</NotifyXccConnectionData>
XSVC
This section describes the some of the interactions that take place between the XSVC provider and the application.
Interaction Between the XSVC Provider, Application, and Route Object
Figure A-7 shows the interaction and the sequence of messages that are exchanged between the applicatio, XSVC provider, and the route object during registration.
Figure A-7 Interaction between an applicaton , XSVC provider, and route object
Message Examples
This section provides examples of message exchanges between the application and the XSVC provider.
Example of a Registration Message Exchange
The following is an example of a RequestXsvcRegister message sent from the application requesting registration and setting route event filters.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<RequestXsvcRegister xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
<url>http://test.com:8090/xsvc</url>
<transactionID>txID001</transactionID>
<url>http://10.1.1.1:8090/cisco_xsvc</url>
<routeEventsFilter>ROUTE_CONF_UPDATED ROUTE_STATUS_UPDATED</routeEventsFilter>
The following is an example of a ResponseXsvcRegister message sent from the XSVC provider in response to the application's registration request.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXsvcRegister xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
<transactionID>txID001</transactionID>
<registrationID>2F2EEC:XSVC:myapp:1</registrationID>
<providerStatus>IN_SERVICE</providerStatus>
The following is an example of a NotifyXsvcStatusmessage sent from the XSVC provider when it enters the shutdown state.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXsvcProviderStatus xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
<transactionID>6A89EC:B</transactionID>
<url>http://test.com:8090/xsvc</url>
<url>http://10.1.1.1:8090/cisco_xsvc</url>
<providerStatus>SHUTDOWN</providerStatus>
</NotifyXsvcProviderStatus>
Example of a Snapshot Reponse Message
The following is an example of a ResponseXsvcRouteSnapshot message sent from XSVC provider with route information.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXsvcRouteSnapshot xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
<transactionID>txID002</transactionID>
<registrationID>77F9EC:XSVC:myapp:5</registrationID>
<routeName>pri</routeName>
<routeType>PSTN</routeType>
<routeType>VOIP</routeType>
</ResponseXsvcRouteSnapshot>
Example of a Route Configuration Change
The following is an example of a NotifyXsvcRouteConfiguration message sent from XSVC provider notifying the application that the route list has been modified.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<NotifyXsvcRouteConfiguration xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
<transactionID>7FFC8C:1C</transactionID>
<registrationID>7E4130:XSVC:myapp:6</registrationID>
<routeName>pri</routeName>
<routeType>PSTN</routeType>
</NotifyXsvcRouteConfiguration>
Interaction between the Application and the XSVC Provider
Figure A-8 illustrates the call interaction when an application responds immediately to a call authorization solicit message from the XSVC provider.
Figure A-8 Interaction between the application, XSVC provider, and route object when new filters are applied
Example of a Route Data Message
The following is an example of a ResponseXsvcRouteStats message sent from XSVC provider with route statistics.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXsvcRouteStats xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
<transactionID>txID003</transactionID>
<registrationID>77F9EC:XSVC:myapp:5</registrationID>
<routeName>pri</routeName>
<routeType>PSTN</routeType>
</ResponseXsvcRouteStats>
XCDR
This section describes some of the interactions that takes place etween the XCDR provider and the application.
Interaction Between the XCDR Provider and Application
Figure A-9 shows the interaction and the sequence of messages that are exchanged between the application and the XCDR provider during registration.
Figure A-9 Messae interaction when the application registers with the XCDR provider
Message Examples
This section provides examples of message exchanges between the application and the XCDR provider.
Example of a Registration Message Exchange
The following is an example of a RequestXcdrRegister message sent from the application requesting registration and specifying the type of records that it expects to receive.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<RequestXcdrRegister xmlns="http://www.cisco.com/schema/cisco_xcdr/v1_0">
<url>http://test.com:8090/xcdr</url>
<transactionID>txID001</transactionID>
<url>http://10.1.1.1:8090/cisco_xcdr</url>
The following is an example of a ResponseXcdrRegister message sent from the XCDR provider in response to the application's registration request.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
<ResponseXcdrRegister xmlns="http://www.cisco.com/schema/cisco_xcdr/v1_0">
<transactionID>txID001</transactionID>
<registrationID>152E0204:XCDR:myapp:5</registrationID>
<providerStatus>IN_SERVICE</providerStatus>