Provider and Application Interactions

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">
  <soapenv:Body>
    <RequestXccRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <applicationData>
        <name>myapp</name>
        <url>http://test.com:8090/xcc</url>
      </applicationData>
      <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>
      <msgHeader>
        <transactionID>11111d</transactionID>
      </msgHeader>
      <providerData>
        <url>http://10.1.1.1:8090/cisco_xcc</url>
      </providerData>
    </RequestXccRegister>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <ResponseXccRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>11111d</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
      <providerStatus>IN_SERVICE</providerStatus>
    </ResponseXccRegister>
  </SOAP:Body>
</SOAP:Envelope>
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">
  <SOAP:Body>
    <ResponseXccRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>11111d</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
      <providerStatus>IN_SERVICE</providerStatus>
    </ResponseXccRegister>
  </SOAP:Body>
</SOAP:Envelope

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">
  <SOAP:Body>
    <NotifyXccProviderStatus xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>43257C78:F4</transactionID>
      </msgHeader>
      <applicationData>
        <url>http://mcebu-reg-ex2.cisco.com:8090/xcc</url>
      </applicationData>
      <providerData>
        <url>http://172.19.149.185:8090/cisco_xcc</url>
      </providerData>
      <providerStatus>SHUTDOWN</providerStatus>
    </NotifyXccProviderStatus>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <SolicitXccProviderUnRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>152EF0C4:8F</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
    </SolicitXccProviderUnRegister>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <SolicitXccProbing xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>152EC69C:89</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
      <sequence>1</sequence>
      <interval>5</interval>
      <failureCount>0</failureCount>
      <registered>true</registered>
      <providerStatus>IN_SERVICE</providerStatus>
    </SolicitXccProbing>
  </SOAP:Body>
</SOAP:Envelope>

The following is an example of the ResponseXccProbing message sent from the application responding to the XCC provider probing message.

<?xml version="1.0"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Header/>
  <soapenv:Body>
    <ResponseXccProbing xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <registrationID>62199E50:XCC:myapp:34</registrationID>
        <transactionID>621B7310:346</transactionID>
      </msgHeader>
      <sequence>1</sequence>
    </ResponseXccProbing>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <SolicitXccProviderUnRegister xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>152EF0C4:8F</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
    </SolicitXccProviderUnRegister>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <soapenv:Body>
    <RequestXccCallMediaSetAttributes xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <callID>6</callID>
      <mediaForking>
        <farEndAddr>
          <ipv4>1.3.45.155</ipv4>
          <port>32599</port>
        </farEndAddr>
        <nearEndAddr>
          <ipv4>1.3.45.155</ipv4>
          <port>32598</port>
        </nearEndAddr>
      </mediaForking>
      <msgHeader>
        <registrationID>D3868:XCC:myapp:5</registrationID>
        <transactionID>D5494:5B</transactionID>
      </msgHeader>
    </RequestXccCallMediaSetAttributes>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <ResponseXccCallMediaSetAttributes xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>D5494:5B</transactionID>
        <registrationID>D3868:XCC:myapp:5</registrationID>
      </msgHeader>
    </ResponseXccCallMediaSetAttributes>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXccCallData>
      <msgHeader>
        <transactionID>2336EF94:BC</transactionID>
        <registrationID>23362C88:XCC:myapp:7</registrationID>
      </msgHeader>
      <callData>
        <callID>8</callID>
        <state>ACTIVE</state>
      </callData>
      <mediaEvent>
        <modeChange>
          <old>MODEM</old>
          <new>FAX</new>
        </modeChange>
      </mediaEvent>
    </NotifyXccCallData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXccCallData>
      <msgHeader>
        <transactionID>491100E4:2E5</transactionID>
        <registrationID>4910E328:XCC:myapp:29</registrationID>
      </msgHeader>
      <callData>
        <callID>38</callID>
        <state>ACTIVE</state>
      </callData>
      <mediaEvent>
        <DTMF>
          <digit>1</digit>
          <dateTime>*01:35:04.111 UTC Sun Oct 4 1970</dateTime>
        </DTMF>
      </mediaEvent>
    </NotifyXccCallData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <soapenv:Body>
    <RequestXccCallMediaForking xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <action>
        <enableMediaForking>
          <farEndAddr>
            <ipv4>1.3.45.155</ipv4>
            <port>32599</port>
          </farEndAddr>
          <nearEndAddr>
            <ipv4>1.3.45.155</ipv4>
            <port>32598</port>
          </nearEndAddr>
        </enableMediaForking>
      </action>
      <callID>8</callID>
      <msgHeader>
        <registrationID>4C21504:XCC:myapp:3</registrationID>
        <transactionID>4C23C6C:2FE</transactionID>
      </msgHeader>
    </RequestXccCallMediaForking>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <NotifyXccCallData>
      <msgHeader>
        <transactionID>4C252A4:2FF</transactionID>
        <registrationID>4C21504:XCC:myapp:3</registrationID>
      </msgHeader>
      <callData>
        <callID>8</callID>
        <state>ACTIVE</state>
      </callData>
      <mediaEvent>
        <mediaForking>
          <mediaForkingState>STARTED</mediaForkingState>
        </mediaForking>
      </mediaEvent>
    </NotifyXccCallData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <ResponseXccCallMediaForking xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>4C23C6C:2FE</transactionID>
        <registrationID>4C21504:XCC:myapp:3</registrationID>
      </msgHeader>
    </ResponseXccCallMediaForking>
  </SOAP:Body>
</SOAP:Envelope

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">
  <SOAP:Body>
    <NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>152E6854:69</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
      <callData>
        <callID>5</callID>
        <state>ACTIVE</state>
      </callData>
      <connData>
        <connID>30</connID>
        <state>IDLE</state>
      </connData>
      <event>
        <created>
          <connDetailData>
            <connData>
              <connID>30</connID>
              <state>IDLE</state>
            </connData>
            <guid>DDAAE040-7F44-11E0-831A-D2E9BAD25129</guid>
            <callingAddrData>
              <type>E164</type>
              <addr>3901</addr>
            </callingAddrData>
            <calledAddrData>
              <type>E164</type>
              <addr>2002</addr>
            </calledAddrData>
            <origCallingAddrData>
              <type>E164</type>
              <addr>3901</addr>
            </origCallingAddrData>
            <origCalledAddrData>
              <type>E164</type>
              <addr>2002</addr>
            </origCalledAddrData>
            <connIntfType>CONN_SIP</connIntfType>
            <mediaData>
              <type>VOICE</type>
            </mediaData>
            <connIntf>9.10.31.254</connIntf>
            <routeName>SANJOSE_SIP</routeName>
            <routeDescription>IN</routeDescription>
            <connDirectionType>INCOMING</connDirectionType>
          </connDetailData>
        </created>
      </event>
    </NotifyXccConnectionData>
  </SOAP:Body>
</SOAP:Envelope

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">
  <SOAP:Body>
    <SolicitXccConnectionAuthorize xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>152E6854:6A</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
      <callData>
        <callID>5</callID>
        <state>ACTIVE</state>
      </callData>
      <connDetailData>
        <connData>
          <connID>30</connID>
          <state>AUTHORIZE_CALL_ATTEMPT</state>
        </connData>
        <guid>DDAAE040-7F44-11E0-831A-D2E9BAD25129</guid>
        <callingAddrData>
          <type>E164</type>
          <addr>3901</addr>
        </callingAddrData>
        <calledAddrData>
          <type>E164</type>
          <addr>2002</addr>
        </calledAddrData>
        <origCallingAddrData>
          <type>E164</type>
          <addr>3901</addr>
        </origCallingAddrData>
        <origCalledAddrData>
          <type>E164</type>
          <addr>2002</addr>
        </origCalledAddrData>
        <connIntfType>CONN_SIP</connIntfType>
        <mediaData>
          <type>VOICE</type>
        </mediaData>
        <connIntf>9.10.31.254</connIntf>
            <routeName>SANJOSE_SIP</routeName>
            <routeDescription>IN</routeDescription>
        <connDirectionType>INCOMING</connDirectionType>
      </connDetailData>
    </SolicitXccConnectionAuthorize>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <soapenv:Header/>
  <soapenv:Body>
    <ResponseXccConnectionAuthorize xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <action>continueProcessing</action>
      <msgHeader>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
        <transactionID>152E6854:6A</transactionID>
      </msgHeader>
    </ResponseXccConnectionAuthorize>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <SolicitXccConnectionAddressAnalyze 
xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>152E6B18:6B</transactionID>
        <registrationID>152E034C:XCC:myapp:5</registrationID>
      </msgHeader>
      <callData>
        <callID>5</callID>
        <state>ACTIVE</state>
      </callData>
      <connData>
        <connID>30</connID>
        <state>ADDRESS_ANALYZE</state>
      </connData>
      <collectAddress>
        <type>E164</type>
        <addr>2002</addr>
      </collectAddress>
    </SolicitXccConnectionAddressAnalyze>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>490D843C:2C9</transactionID>
        <registrationID>490D710C:XCC:myapp:28</registrationID>
      </msgHeader>
      <callData>
        <callID>37</callID>
        <state>ACTIVE</state>
      </callData>
      <connData>
        <connID>280</connID>
        <state>CONNECTED</state>
      </connData>
      <event>
        <CONNECTED>
          <connDetailData>
            <connData>
              <connID>280</connID>
              <state>CONNECTED</state>
            </connData>
            <guid>B64EC537-872C-11E0-8FBC-A55F7D9A8E13</guid>
            <callingAddrData>
              <type>E164</type>
              <addr>2001</addr>
            </callingAddrData>
            <calledAddrData>
              <type>E164</type>
              <addr>3001</addr>
            </calledAddrData>
            <origCallingAddrData>
              <type>E164</type>
              <addr>2001</addr>
            </origCallingAddrData>
            <origCalledAddrData>
              <type>E164</type>
              <addr>3001</addr>
            </origCalledAddrData>
            <connIntfType>CONN_SIP</connIntfType>
            <mediaData>
              <type>VOICE</type>
              <coderType>g711ulaw</coderType>
              <coderByte>160</coderByte>
            </mediaData>
            <connIntf>9.10.21.254</connIntf>
            <connDirectionType>INCOMING</connDirectionType>
          </connDetailData>
        </CONNECTED>
      </event>
    </NotifyXccConnectionData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>48EE6610:2B2</transactionID>
        <registrationID>48EDDDC8:XCC:myapp:27</registrationID>
      </msgHeader>
      <callData>
        <callID>36</callID>
        <state>ACTIVE</state>
      </callData>
      <connData>
        <connID>274</connID>
        <state>DISCONNECTED</state>
      </connData>
      <event>
        <disconnected>
          <mediaData>
            <type>VOICE</type>
            <coderType>g711ulaw</coderType>
            <coderByte>160</coderByte>
          </mediaData>
          <statsData>
            <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>
          </statsData>
          <discCause>16</discCause>
          <jitterData>
            <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>
          </jitterData>
        </disconnected>
      </event>
    </NotifyXccConnectionData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>48EE65AC:2AC</transactionID>
        <registrationID>48EDDDC8:XCC:myapp:27</registrationID>
      </msgHeader>
      <callData>
        <callID>35</callID>
        <state>ACTIVE</state>
      </callData>
      <connData>
        <connID>272</connID>
        <state>CONNECTED</state>
      </connData>
      <event>
        <handoffLeave/>
      </event>
    </NotifyXccConnectionData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXccConnectionData xmlns="http://www.cisco.com/schema/cisco_xcc/v1_0">
      <msgHeader>
        <transactionID>48EE65AC:2AD</transactionID>
        <registrationID>48EDDDC8:XCC:myapp:27</registrationID>
      </msgHeader>
      <callData>
        <callID>36</callID>
        <state>ACTIVE</state>
      </callData>
      <connData>
        <connID>272</connID>
        <state>CONNECTED</state>
      </connData>
      <event>
        <handoffJoin>
          <connDetailData>
            <connData>
              <connID>272</connID>
              <state>CONNECTED</state>
            </connData>
            <guid>99CFA037-F5F2-11B2-8255-AC403F9877FF</guid>
            <callingAddrData>
              <type>E164</type>
              <addr>2001</addr>
            </callingAddrData>
            <calledAddrData>
              <type>E164</type>
              <addr>3001</addr>
            </calledAddrData>
            <origCallingAddrData>
              <type>E164</type>
              <addr>2001</addr>
            </origCallingAddrData>
            <origCalledAddrData>
              <type>E164</type>
              <addr>3001</addr>
            </origCalledAddrData>
            <connIntfType>CONN_SIP</connIntfType>
            <mediaData>
              <type>VOICE</type>
              <coderType>g711ulaw</coderType>
              <coderByte>160</coderByte>
            </mediaData>
            <connIntf>9.10.31.254</connIntf>
            <routeName>SANJOSE_SIP</routeName>
            <routeDescription>IN</routeDescription>
            <connDirectionType>OUTGOING</connDirectionType>
          </connDetailData>
        </handoffJoin>
      </event>
    </NotifyXccConnectionData>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <soapenv:Body>
    <RequestXsvcRegister xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
      <applicationData>
        <name>myapp</name>
        <url>http://test.com:8090/xsvc</url>
      </applicationData>
      <msgHeader>
        <transactionID>txID001</transactionID>
      </msgHeader>
      <providerData>
        <url>http://10.1.1.1:8090/cisco_xsvc</url>
      </providerData>
      <routeEventsFilter>ROUTE_CONF_UPDATED ROUTE_STATUS_UPDATED</routeEventsFilter>
    </RequestXsvcRegister>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <ResponseXsvcRegister xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
      <msgHeader>
        <transactionID>txID001</transactionID>
        <registrationID>2F2EEC:XSVC:myapp:1</registrationID>
      </msgHeader>
      <providerStatus>IN_SERVICE</providerStatus>
    </ResponseXsvcRegister>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXsvcProviderStatus xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
      <msgHeader>
        <transactionID>6A89EC:B</transactionID>
      </msgHeader>
      <applicationData>
        <url>http://test.com:8090/xsvc</url>
      </applicationData>
      <providerData>
        <url>http://10.1.1.1:8090/cisco_xsvc</url>
      </providerData>
      <providerStatus>SHUTDOWN</providerStatus>
    </NotifyXsvcProviderStatus>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <ResponseXsvcRouteSnapshot xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
      <msgHeader>
        <transactionID>txID002</transactionID>
        <registrationID>77F9EC:XSVC:myapp:5</registrationID>
      </msgHeader>
      <routeList>
        <route>
          <routeName>pri</routeName>
          <routeType>PSTN</routeType>
          <trunkList>
            <trunkData>
              <name>Se0/1/0:23</name>
              <type>ISDN_PRI</type>
              <status>UP</status>
            </trunkData>
          </trunkList>
        </route>
        <route>
          <routeName>1</routeName>
          <routeType>VOIP</routeType>
          <trunkList>
            <trunkData>
              <name>11.1.1.1</name>
              <type>H323</type>
              <status>UP</status>
            </trunkData>
          </trunkList>
        </route>
      </routeList>
    </ResponseXsvcRouteSnapshot>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <NotifyXsvcRouteConfiguration xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
      <msgHeader>
        <transactionID>7FFC8C:1C</transactionID>
        <registrationID>7E4130:XSVC:myapp:6</registrationID>
      </msgHeader>
      <type>MODIFIED</type>
      <routeList>
        <route>
          <routeName>pri</routeName>
          <routeType>PSTN</routeType>
          <trunkList>
            <trunkData>
              <name>Se0/1/0:23</name>
              <type>ISDN_PRI</type>
              <status>UP</status>
            </trunkData>
          </trunkList>
        </route>
      </routeList>
    </NotifyXsvcRouteConfiguration>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <SOAP:Body>
    <ResponseXsvcRouteStats xmlns="http://www.cisco.com/schema/cisco_xsvc/v1_0">
      <msgHeader>
        <transactionID>txID003</transactionID>
        <registrationID>77F9EC:XSVC:myapp:5</registrationID>
      </msgHeader>
      <routeList>
        <route>
          <routeName>pri</routeName>
          <routeType>PSTN</routeType>
          <trunkList>
            <trunkData>
              <name>Se0/1/0:23</name>
              <type>ISDN_PRI</type>
              <status>UP</status>
              <currentStatics>
                <LCV>0</LCV>
                <PCV>0</PCV>
                <CSS>0</CSS>
                <SEFS>0</SEFS>
                <LES>0</LES>
                <DM>0</DM>
                <ES>0</ES>
                <BES>0</BES>
                <SES>0</SES>
                <UAS>0</UAS>
              </currentStatics>
              <totalStatics>
                <LCV>47</LCV>
                <PCV>6</PCV>
                <CSS>1</CSS>
                <SEFS>1</SEFS>
                <LES>1</LES>
                <DM>0</DM>
                <ES>0</ES>
                <BES>0</BES>
                <SES>0</SES>
                <UAS>2</UAS>
              </totalStatics>
            </trunkData>
          </trunkList>
        </route>
      </routeList>
    </ResponseXsvcRouteStats>
  </SOAP:Body>
</SOAP:Envelope>

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">
  <soapenv:Body>
    <RequestXcdrRegister xmlns="http://www.cisco.com/schema/cisco_xcdr/v1_0">
      <applicationData>
        <name>myapp</name>
        <url>http://test.com:8090/xcdr</url>
      </applicationData>
      <msgHeader>
        <transactionID>txID001</transactionID>
      </msgHeader>
      <providerData>
        <url>http://10.1.1.1:8090/cisco_xcdr</url>
      </providerData>
    </RequestXcdrRegister>
  </soapenv:Body>
</soapenv:Envelope>

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">
  <SOAP:Body>
    <ResponseXcdrRegister xmlns="http://www.cisco.com/schema/cisco_xcdr/v1_0">
      <msgHeader>
        <transactionID>txID001</transactionID>
        <registrationID>152E0204:XCDR:myapp:5</registrationID>
      </msgHeader>
      <providerStatus>IN_SERVICE</providerStatus>
    </ResponseXcdrRegister>
  </SOAP:Body>
</SOAP:Envelope>