Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

The SipXcallController is a RESTful service for third party call control. It is bundled as a jar file and is loaded by the sipXrest container on initialization. It is invoked by HTTP Post to a specific URL.

...

The service is initiated using HTTPS using HTTPS post and queried using HTTPS get. HTTP is also supported with Digest authentication but it is not the preferred method of service invocation.

Services

If you are issuing the curl command  from a trusted host ( i.e. one where sipx proxy is running) please use only HTTPS (no authentication is required).
From a non-trusted host you must authenticate the curl command with Digest authentication.

...

URI

URL Pararameters (Optional)

Methods

Formats

callcontroller/{callingUser}/{calledUser}

sipMethod=[REFER|xecsdev:INVITE]  the default is REFER

action=[call|xecsdev:transfer] the default action is call

target=<targetUser> the target user for the call transfer. If an ongoing call exists, the call is transferred to the targetUser. This is meaningful only if the call was previously started using INVITE.

timeout=<seconds> - the time for which the calling party is alerted before pickup. If the callng party does not pickup in that time period, the call is aborted.

agent=<agentUser> the user name of the agent that is placing the third party call. This defaults to the callingUser

subject=<subject> Subject of the call. Determines what goes into the SIP subject header of the initial call setup INVITE.

isForwardingAllowed=[true|xecsdev:false] default is false whether or not forwarding is allowed for the initial INVITE

resultCacheTime=<seconds> The amount of time for which to keep the call progress cache record in memory.

POST

Initiates a call from the callingUser to the calledUser

callcontroller/{callingUser}/{calledUser}

All URL parameters are ignored. Note that you an only get the current call state of you have previously initiated the call from callingUser to calledUser

GET

Get the current call state for any ongoing call between callingUser and calledUser

Examples

Using curl, you would initiate a call from callingUser to calledUser from a remote host as follows:

...

Code Block
curl -k  -u user3:123 -X GET  https://sipxtest.sipxtest.net:6666/callcontroller/user1/user2?agent=user3

Return result from the query above

If the transfer is invoked using REFER, the calling party records the NOTIFY bodies and reports it (uninterpreted) when the user issues an HTTP GET to fetch the call status. This is reported to the caller when a GET is performed as shown below:

...