cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
465
Views
0
Helpful
0
Replies

Gateway-based call events capturing via XMF Provider Configuration

rakesh1456
Level 1
Level 1

Hi All,

 

We are facing an issue with  Configuring the Cisco UC WSAPI XMF provider to capture the call events.

 

Please go through our use case and followed the steps and try to provide us with some solution.

UseCase:

We are trying to capture the call events like call-Connected, Call-Disconnected, Call-Active, Call-Hangup. At each event level, we want to execute some custom code to update data in the system. 

 

Steps Followed:

Ref:

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube_proto/configuration/15-mt/cube-proto-15-mt-book/voi-cube-uc-gateway-services.html 

 

Followed "Configuring the XMF Provider" steps mentioned in the above Cisco document and successfully registered the XMF provider from the client machine(web API server)  to CUBE. When we make a test inbound call, able to see XMF call events in our API end. 

 

CUBE Cofiguration:

CC-VCUBE(config)#ip http server

CC-VCUBE(config)#ip http max-connection 100

CC-VCUBE(config)#ip http timeout-policy idle 600 life 86400 requests 86400

CC-VCUBE(config)#http client connection persistent

CC-VCUBE(config)#http client connection idle timeout 600

CC-VCUBE(config)#uc wsapi

CC-VCUBE(config-uc-wsapi)#message-exchange max-failures 2

CC-VCUBE(config-uc-wsapi)#probing max-failures 5

CC-VCUBE(config-uc-wsapi)#probing interval keepalive 180

CC-VCUBE(config-uc-wsapi)#probing interval negative 10

CC-VCUBE(config-uc-wsapi)#source-address [CUBE IP]

CC-VCUBE(config-uc-wsapi)#provider xmf

CC-VCUBE(config-wsapi-xmf)#no shutdown

CC-VCUBE(config-wsapi-xmf)#remote-url 1 http://[WEB Server IP]:9001/CUBE/UPDATE_CALL

CC-VCUBE(config-wsapi-xmf)#remote-url 2 http://[CUBE IP]:8090/cisco_xmf

 

Show Command: when we run the show command It is showing registration status properly

DalDevVGW2#show wsapi registration all

Provider XCC

=====================================================

 

Provider XMF

=====================================================

registration index: 1

  id: 89B90578:XMF:VisualQ:72

  appUrl:http://<web server IP>/CUBE/UPDATE_CALL

  appName: VisualQ

  provUrl: http://<cube  IP>:8090/cisco_xmf

  prober state: STEADY

  connEventsFilter: CONNECTED|DISCONNECTED

  mediaEventsFilter: MEDIA_ACTIVITY

 

Events/responses getting at Web API End:

Please find response events (XML format) at the end.

 

Problem:

When XMF Wsapi started pushing call events to app URL (Web API)  from CUBE, after 3 to 4 events pushing immediately call is dropping and not able to hear the IVR  prompts/menus and all other DN's also stopped working which configured in the same CUBE. Once the XMF provider is unregistered then all calls are working as expected. 

Here are my questions:

  1.   Did I miss any configuration or misconfigured the XMF provider?
  2.   Am I using the XMF provider wrongly?
  3.   How to capture Call Hangup events and Disconnected events from the gateway and POST them to remote API?

 

Please Help me with this. Thank you in advance for your support.

 

 

<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope
<SOAP:Body>
<SolicitXmfProbing
<msgHeader>
<transactionID>89BCFDDC:615</transactionID>
<registrationID>89B90578:XMF:VisualQ:72</registrationID>
</msgHeader>
<sequence>4</sequence>
<interval>10</interval>
<failureCount>3</failureCount>
<registered>true</registered>
<providerStatus>IN_SERVICE</providerStatus>
</SolicitXmfProbing>
</SOAP:Body>
</SOAP:Envelope>

**********************************
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope
<SOAP:Body>
<NotifyXmfConnectionData
<msgHeader>
<transactionID>89C0A928:618</transactionID>
<registrationID>89BF2CF0:XMF:VisualQ:73</registrationID>
</msgHeader>
<callData>
<callID>257</callID>
<state>ACTIVE</state>
</callData>
<connData>
<connID>5204902</connID>
<state>CONNECTED</state>
</connData>
<event>
<connected>
<connDetailData>
<connData>
<connID>5204902</connID>
<state>CONNECTED</state>
</connData>
<guid>0xEFC94F1C-0x835811EC-0x805B95B7-0x3552C832</guid>
<guidAltFormat>4022947612-2203587052-2153485751-0894617650</guidAltFormat>
<callingAddrData>
<type>E164</type>
<addr>+14434243682</addr>
</callingAddrData>
<calledAddrData>
<type>E164</type>
<addr>4698991221</addr>
</calledAddrData>
<origCallingAddrData>
<type>E164</type>
<addr>+14434243682</addr>
</origCallingAddrData>
<origCalledAddrData>
<type>E164</type>
<addr>4698991221</addr>
</origCalledAddrData>
<connIntfType>CONN_SIP</connIntfType>
<mediaData>
<type>VOICE</type>
<coderType>g711ulaw</coderType>
<coderByte>160</coderByte>
</mediaData>
<connIntf><CVP Server IP></connIntf>
<connDirectionType>OUTGOING</connDirectionType>
</connDetailData>
</connected>
</event>
</NotifyXmfConnectionData>
</SOAP:Body>
</SOAP:Envelope>


**********************************

<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope
<SOAP:Body>
<NotifyXmfConnectionData
<msgHeader>
<transactionID>89C0A92C:619</transactionID>
<registrationID>89BF2CF0:XMF:VisualQ:73</registrationID>
</msgHeader>
<callData>
<callID>257</callID>
<state>ACTIVE</state>
</callData>
<connData>
<connID>5204901</connID>
<state>CONNECTED</state>
</connData>
<event>
<connected>
<connDetailData>
<connData>
<connID>5204901</connID>
<state>CONNECTED</state>
</connData>
<guid>0xEFC94F1C-0x835811EC-0x805B95B7-0x3552C832</guid>
<guidAltFormat>4022947612-2203587052-2153485751-0894617650</guidAltFormat>
<callingAddrData>
<type>URI</type>
<addr>sip:+14434243682@fl.gg</addr>
</callingAddrData>
<calledAddrData>
<type>URI</type>
<addr>sip:4698991221@209.165.215.34:7980;transport=tcp</addr>
</calledAddrData>
<origCallingAddrData>
<type>E164</type>
<addr>+14434243682</addr>
</origCallingAddrData>
<origCalledAddrData>
<type>E164</type>
<addr>4698991221</addr>
</origCalledAddrData>
<connIntfType>CONN_SIP</connIntfType>
<mediaData>
<type>VOICE</type>
<coderType>g711ulaw</coderType>
<coderByte>160</coderByte>
</mediaData>
<connIntf><IP></connIntf>
<connDirectionType>INCOMING</connDirectionType>
</connDetailData>
</connected>
</event>
</NotifyXmfConnectionData>
</SOAP:Body>
</SOAP:Envelope>

*****************************************

<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope
<SOAP:Body>
<NotifyXmfConnectionData
<msgHeader>
<transactionID>89C0A940:620</transactionID>
<registrationID>89BF2CF0:XMF:VisualQ:73</registrationID>
</msgHeader>
<callData>
<callID>258</callID>
<state>ACTIVE</state>
</callData>
<connData>
<connID>5204903</connID>
<state>DISCONNECTED</state>
</connData>
<event>
<disconnected>
<mediaData>
<type>VOICE</type>
<coderType>g711ulaw</coderType>
<coderByte>160</coderByte>
</mediaData>
<statsData>
<callDuration>P0DT0.4S</callDuration>
<TxPacketsCount>0</TxPacketsCount>
<TxBytesCount>0</TxBytesCount>
<TxDurationMSec>0</TxDurationMSec>
<TxVoiceDurationMSec>0</TxVoiceDurationMSec>
<RxPacketsCount>0</RxPacketsCount>
<RxBytesCount>0</RxBytesCount>
<RxDurationMSec>0</RxDurationMSec>
<RxVoiceDurationMSec>0</RxVoiceDurationMSec>
</statsData>
<discCause>16</discCause>
<jitterData>
<roundTripDelayMSec>0</roundTripDelayMSec>
<onTimeRvPlayMSec>0</onTimeRvPlayMSec>
<gapFillWithPredictionMSec>0</gapFillWithPredictionMSec>
<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>
</NotifyXmfConnectionData>
</SOAP:Body>
</SOAP:Envelope>

****************

<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope
<SOAP:Body>
<SolicitXmfProbing
<msgHeader>
<transactionID>89C0D2C8:621</transactionID>
<registrationID>89BF2CF0:XMF:VisualQ:73</registrationID>
</msgHeader>
<sequence>1</sequence>
<interval>10</interval>
<failureCount>0</failureCount>
<registered>true</registered>
<providerStatus>IN_SERVICE</providerStatus>
</SolicitXmfProbing>
</SOAP:Body>
</SOAP:Envelope>
0 Replies 0