Jump to content
Vodia PBX forum
Makara

CSTA Error On MakeCall

Recommended Posts

Hi All,

 

I'm trying to make a call between two users via CSTA but i got invalidCalledDeviceID CSTA error.

 

The request XML is:

 

POST http://192.168.10.101/soap.xml HTTP/1.0

Content-Type: text/xml

Host: 192.168.10.101

Content-Length: 343

Connection: Keep-Alive

 

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx">

<env:Body>

<sns:MakeCall>

<callingDevice>sip:10000@192.168.10.101</callingDevice>

<calledDirectoryNumber>sip:600@192.168.10.101</calledDirectoryNumber>

<autoOriginate>doNotPrompt</autoOriginate>

</sns:MakeCall>

</env:Body>

</env:Envelope>

 

Server Response is:

HTTP/1.0 500 Internal Server Error

Content-Type: application/xml

Content-Length: 583

 

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<SOAP-ENV:Body>

<SOAP-ENV:Fault>

<SOAP-ENV:faultcode>Client</SOAP-ENV:faultcode>

<SOAP-ENV:faultstring>CSTA Error</SOAP-ENV:faultstring>

<SOAP-ENV:detail>

<csta:CSTAErrorCode xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<csta:operation>invalidCalledDeviceID</csta:operation>

</csta:CSTAErrorCode>

</SOAP-ENV:detail>

</SOAP-ENV:Fault>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

Both devices are connected, registered and make calls between each other. Server version is 4.0.1.3446.

 

Does anyone know how to resolve this.

Share this post


Link to post
Share on other sites
Hi All,

 

I'm trying to make a call between two users via CSTA but i got invalidCalledDeviceID CSTA error.

 

The request XML is:

 

POST http://192.168.10.101/soap.xml HTTP/1.0

Content-Type: text/xml

Host: 192.168.10.101

Content-Length: 343

Connection: Keep-Alive

 

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx">

<env:Body>

<sns:MakeCall>

<callingDevice>sip:10000@192.168.10.101</callingDevice>

<calledDirectoryNumber>sip:600@192.168.10.101</calledDirectoryNumber>

<autoOriginate>doNotPrompt</autoOriginate>

</sns:MakeCall>

</env:Body>

</env:Envelope>

 

Server Response is:

HTTP/1.0 500 Internal Server Error

Content-Type: application/xml

Content-Length: 583

 

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<SOAP-ENV:Body>

<SOAP-ENV:Fault>

<SOAP-ENV:faultcode>Client</SOAP-ENV:faultcode>

<SOAP-ENV:faultstring>CSTA Error</SOAP-ENV:faultstring>

<SOAP-ENV:detail>

<csta:CSTAErrorCode xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<csta:operation>invalidCalledDeviceID</csta:operation>

</csta:CSTAErrorCode>

</SOAP-ENV:detail>

</SOAP-ENV:Fault>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

Both devices are connected, registered and make calls between each other. Server version is 4.0.1.3446.

 

Does anyone know how to resolve this.

 

The called device is represented as sip:600@192.168.10.101 in the message that you sent. Is 192.168.10.101 is a domain on the PBX? If the domain is named differently (say, localhost or pbx.company.com), then please use that name.

Share this post


Link to post
Share on other sites

Hi

 

I have tested this functionality on a snom ONE free version and it works fine, but when trying to get it working on our production pbx i get the same error as above.

Both environments are running version 2011-4.5.0.1050.

 

I have tried the above mentioned suggestions with no luck.

 

Below is the soap conversation of the snom ONE free version that works fine.

 

POST / HTTP/1.1

 

Content-Type: application/xml

 

Host: 172.16.10.76

 

Content-Length: 326

 

Expect: 100-continue

 

 

 

<?xml version="1.0" standalone="yes"?>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx">

<env:Body>

<sns:MakeCall>

<domain>172.16.10.76</domain>

<callingDevice>49</callingDevice>

<calledDirectoryNumber>41</calledDirectoryNumber>

</sns:MakeCall>

</env:Body>

</env:Envelope>HTTP/1.1 200 Ok

 

Content-Type: application/xml

 

Content-Length: 413

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<SOAP-ENV:Body>

<csta:MakeCallResponse>

<csta:callingDevice>

<csta:callID>0b36f9a3@pbx</csta:callID>

<csta:deviceID>49@localhost</csta:deviceID>

</csta:callingDevice>

</csta:MakeCallResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

 

And here is the conversation of the production server:

 

 

POST / HTTP/1.1

 

Content-Type: application/xml

 

Host: 192.168.0.12

 

Content-Length: 330

 

Expect: 100-continue

 

Connection: Keep-Alive

 

 

 

<?xml version="1.0" standalone="yes"?>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx">

<env:Body>

<sns:MakeCall>

<domain>192.168.0.12</domain>

<callingDevice>8024</callingDevice>

<calledDirectoryNumber>8025</calledDirectoryNumber>

</sns:MakeCall>

</env:Body>

</env:Envelope>

HTTP/1.1 500 Internal Server Error

 

Content-Type: application/xml

 

Content-Length: 583

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<SOAP-ENV:Body>

<SOAP-ENV:Fault>

<SOAP-ENV:faultcode>Client</SOAP-ENV:faultcode>

<SOAP-ENV:faultstring>CSTA Error</SOAP-ENV:faultstring>

<SOAP-ENV:detail>

<csta:CSTAErrorCode xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4">

<csta:operation>invalidCalledDeviceID</csta:operation>

</csta:CSTAErrorCode>

</SOAP-ENV:detail>

</SOAP-ENV:Fault>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

 

 

Even if i make all the fields blank the error stays the same.

 

Hope someone can help.

Share this post


Link to post
Share on other sites

I assume 192.168.0.12 does not have 'localhost' as the alias.

So, try adding @domain name for the calling device & called devices. Ex: 8024@192.168.0.12.

 

Make sure that 192.168.0.12 is the domain name for 8024 & 8025.

Share this post


Link to post
Share on other sites

I assume 192.168.0.12 does not have 'localhost' as the alias.

So, try adding @domain name for the calling device & called devices. Ex: 8024@192.168.0.12.

 

Make sure that 192.168.0.12 is the domain name for 8024 & 8025.

 

 

Thanks very much.

This resolved my issue.

Share this post


Link to post
Share on other sites

Hi

We have been using the CSTA MakeCall since the last post on this topic in 2012

We are in process of upgrading our Vodia pbx from 60 to 61 and in this functionality is now giving a similar error  although we have not changed anything:

See the full trace below:

POST / HTTP/1.1
Content-Type: application/xml
Host: 192.168.x.x
Content-Length: 338
Expect: 100-continue
Connection: Keep-Alive

HTTP/1.1 100 Continue

<?xml version="1.0" standalone="yes"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx"><env:Body><sns:MakeCall><domain></domain><callingDevice>8025@pbx.ourdomain.co.za</callingDevice><calledDirectoryNumber>0820000000</calledDirectoryNumber></sns:MakeCall></env:Body></env:Envelope>

 

HTTP/1.1 500 Internal Server Error
Content-Type: application/xml
Content-Length: 583


<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4"><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:faultcode>Client</SOAP-ENV:faultcode><SOAP-ENV:faultstring>CSTA Error</SOAP-ENV:faultstring><SOAP-ENV:detail><csta:CSTAErrorCode xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4"><csta:operation>invalidCalledDeviceID</csta:operation></csta:CSTAErrorCode></SOAP-ENV:detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

 

PBX LOG File

8] 20:41:47.527 SOAP: SOAP: Request from IP address 192.168.0.0 without a session
[5] 20:41:47.534 SOAP: Receive SOAP request via HTTP interface
<?xml version="1.0" standalone="yes"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx"><env:Body><sns:MakeCall><domain></domain><callingDevice>8025@pbx.mydomain.co.za</callingDevice><calledDirectoryNumber>0820000000</calledDirectoryNumber></sns:MakeCall></env:Body></env:Envelope>

 

 

Share this post


Link to post
Share on other sites

That is correct. Our unit test for making a call using CSTA works perfectly on version 60 but fails with the above error on the latest 61.0.2

Share this post


Link to post
Share on other sites

Do you make this post to the right HTTP Host? In 61.0 the PBX cannot use the username @ domain it only uses the username. If you send it to the right domain it should work again. For example curl http://your-domain/... your-domain should be a domain on your system.

Share this post


Link to post
Share on other sites

We have changed the HTTP post to the host(domain) and removed the @domain after username and still the same error. We also tried to specify the domain in the MakeCall soap request node with no luck.

POST / HTTP/1.1
Content-Type: application/xml
Host: pbx.nhb.co.za
Content-Length: 324
Expect: 100-continue
Connection: Keep-Alive

HTTP/1.1 100 Continue

<?xml version="1.0" standalone="yes"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx"><env:Body><sns:MakeCall><domain></domain><callingDevice>8025</callingDevice><calledDirectoryNumber>082********</calledDirectoryNumber></sns:MakeCall></env:Body></env:Envelope>HTTP/1.1 500 Internal Server Error
Content-Type: application/xml
Content-Length: 583


<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4"><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:faultcode>Client</SOAP-ENV:faultcode><SOAP-ENV:faultstring>CSTA Error</SOAP-ENV:faultstring><SOAP-ENV:detail><csta:CSTAErrorCode xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed4"><csta:operation>invalidCalledDeviceID</csta:operation></csta:CSTAErrorCode></SOAP-ENV:detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

Share this post


Link to post
Share on other sites

Looks like this is really because of the missing domain context. Unfortunately this seems to be broken in 61.0. We will fix that ASAP. Not sure how much work this would be for you, but you could instead just use the "native" CSTA interface to send the MakeCall command. 

Share this post


Link to post
Share on other sites

If you can give an example of "native" CSTA we can look into it. We do not specialize in CSTA and do not have any knowledge other than what we have done here.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×