| CallXML 3.0 Development Guide | Home | Frameset Home |
|
<assign var="ANI" value="'$session.sip.x-sbc-p-charge-info;'"/>
<log>The ANI is $ANI;</log>
<log>*** Caller ID via SIP header: $session.sip.from;</log>
<log>*** Caller ID via session variable: $session.callerID;</log>
<call value="$NumToCall;" callerID="6666666666"/>
tel:+[country code][number]tel:+4402071112222| ANNOTATIONS: EXISTING POSTS |
SethStern
|
|
| G'day!
Just to clarify, it appears from the debugger session log that the ANI is not submitted in the "FirstURL" HTTP request. The CallXML 3.0 script returned from that request does have access to the ANI. Is there a technical reason that the ANI is not available earlier in the process? It is worth logging as early as possible in handling an inbound call and may be useful in determining whether or not to accept the call. The ANI can be had (at the remote XML server) by forcing an extra HTTP round trip, e.g. by using a <fetch submit="*"> element, but that seems rather wasteful. Seth |
|
VoxeoDante
|
|
| Hello Seth,
The fetch to the initial document should contain munch of the information you are looking for. It may not be referenced as ANI, but rather callerID. You should see the following line in your logs; CXV/VXT202.ORL.VOXEO.NET - action: goto value="http://somewebserver.com/dvitulano/callxml/DomValidation.xml Submit (method="GET" cache=""): session.ID=4a86b06b96a4ae84d6245f253859311f-380 session.SIPCallID=0-13c4-4d41a5fa-1c1618ea-28e7-1d761de0 session.LastCallDuration=0 session.LastTransferDuration=0 session.callerid=407******* session.calledid=202******* session.accountid=***** session.applicationid=***** session.outbounddialingflags=icusb session.ppid=*** session.subaccountcode= callerID=407******* calledID=202******* SubAccountCode= container.iteration=1 Obviously I have masked much of this data, but it should be fairly obvious on what is available. All of these variables should be passed on that initial fetch. Will this meet your needs? Please let me know if you are not seeing these values. Regards, Dante Vitulano Hosted Solutions Engineer [url=http://voxeo.com/prophecy]Download Prophecy 10[/url] | [url=http://docs.voxeo.com/prophecy/10.0/home.htm]Prophecy 10 Docs[/url] |
|
SethStern
|
|
| Dante,
Pardon my disappearance. We were waiting for some prototype hardware. My understanding is that "caller identification" is subject to several problems that do not affect ANI: 1. It can be blocked by the caller. 2. It can be lost during the routing of a call between carriers. 3. It can be spoofed by the caller. Our application determines the action(s) to take based on the incoming caller's telephone number. Without having access to the ANI before accepting a call it appears that we cannot implement a "white list" of acceptable numbers. Instead, we would have to incur the expense of accepting all incoming calls and subsequently verifying the ANI and either disconnecting or proceeding. As an aside, where is the syntax for ANI strings documented? There is clearly more than just the originating telephone number in the string. Thanks, Seth |
|
VoxeoDante
|
|
| Hello Seth,
You are correct, callerID can be both blocked and spoofed. It can also be lost, but so can ANI, when this happens, it is normally replaced with a local exchange number. That said, your first assumption is correct, we would need to capture that data at the application level, then make a request to your server to send the data. It is not available before hand sadly. You could just write a simple static XML document and host it on our server which grabs the value and passes it to the back end to avoid the extra traffic. Regards, Dante Vitulano Hosted Solutions Engineer [url=http://voxeo.com/prophecy]Download Prophecy 10[/url] | [url=http://docs.voxeo.com/prophecy/10.0/home.htm]Prophecy 10 Docs[/url] |
| login |
|