eXosip2 INVITE and Call Management
SIP messages and call control API
Functions
int
eXosip_call_set_reference (struct eXosip_t *excontext, int id, void *reference)
void *
eXosip_call_get_reference (struct eXosip_t *excontext, int cid)
int
eXosip_call_build_initial_invite (struct eXosip_t *excontext, osip_message_t **invite, const char *to, const char *from, const char *route, const char *subject)
int
eXosip_call_send_initial_invite (struct eXosip_t *excontext, osip_message_t *invite)
int
eXosip_call_build_request (struct eXosip_t *excontext, int did, const char *method, osip_message_t **request)
int
eXosip_call_build_ack (struct eXosip_t *excontext, int did, osip_message_t **ack)
int
eXosip_call_send_ack (struct eXosip_t *excontext, int did, osip_message_t *ack)
int
eXosip_call_build_refer (struct eXosip_t *excontext, int did, const char *refer_to, osip_message_t **request)
int
eXosip_call_build_info (struct eXosip_t *excontext, int did, osip_message_t **request)
int
eXosip_call_build_options (struct eXosip_t *excontext, int did, osip_message_t **request)
int
eXosip_call_build_update (struct eXosip_t *excontext, int did, osip_message_t **request)
int
eXosip_call_build_notify (struct eXosip_t *excontext, int did, int subscription_status, osip_message_t **request)
int
eXosip_call_send_request (struct eXosip_t *excontext, int did, osip_message_t *request)
int
eXosip_call_build_answer (struct eXosip_t *excontext, int tid, int status, osip_message_t **answer)
int
eXosip_call_send_answer (struct eXosip_t *excontext, int tid, int status, osip_message_t *answer)
int
eXosip_call_terminate (struct eXosip_t *excontext, int cid, int did)
int
eXosip_call_build_prack (struct eXosip_t *excontext, int tid, osip_message_t **prack)
int
eXosip_call_send_prack (struct eXosip_t *excontext, int tid, osip_message_t *prack)
int
eXosip_call_get_referto (struct eXosip_t *excontext, int did, char *refer_to, size_t refer_to_len)
int
eXosip_call_find_by_replaces (struct eXosip_t *excontext, char *replaces)
Detailed Description
Function Documentation
int eXosip_call_set_reference
(
struct eXosip_t * excontext,
int id,
void * reference
)
Set a new application context for an existing call
- Parameters
-
excontext
-
eXosip_t instance.
id
call-id or dialog-id of callreference
New application context.
void* eXosip_call_get_reference
(
struct eXosip_t * excontext,
int cid
)
Get the application context pointer for an existing call.
- Parameters
-
excontext
-
eXosip_t instance.
cid
id of the call.
- Returns
- Application context reference
int eXosip_call_build_initial_invite
(
struct eXosip_t * excontext,
osip_message_t ** invite,
const char * to,
const char * from,
const char * route,
const char * subject
)
Build a default INVITE message for a new call.
- Parameters
-
excontext
eXosip_t instance.invite
Pointer for the SIP element to hold.to
SIP url for callee.from
SIP url for caller.route
Route header for INVITE. (optional)subject
Subject for the call.
int eXosip_call_send_initial_invite
(
struct eXosip_t * excontext,
osip_message_t * invite
)
Initiate a call.
- Parameters
-
excontext
eXosip_t instance.invite
SIP INVITE message to send.
int eXosip_call_build_request
(
struct eXosip_t * excontext,
int did,
const char * method,
osip_message_t ** request
)
Build a default request within a call. (INVITE, OPTIONS, INFO, REFER)
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.method
request type to build.request
The sip request to build.
int eXosip_call_build_ack
(
struct eXosip_t * excontext,
int did,
osip_message_t ** ack
)
Build a default ACK for a 200ok received.
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.ack
The sip request to build.
int eXosip_call_send_ack
(
struct eXosip_t * excontext,
int did,
osip_message_t * ack
)
Send the ACK for the 200ok received..
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.ack
SIP ACK message to send.
int eXosip_call_build_refer
(
struct eXosip_t * excontext,
int did,
const char * refer_to,
osip_message_t ** request
)
Build a default REFER for a call transfer.
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.refer_to
url for call transfer (Refer-To header).request
The sip request to build.
int eXosip_call_build_info
(
struct eXosip_t * excontext,
int did,
osip_message_t ** request
)
Build a default INFO within a call.
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.request
The sip request to build.
int eXosip_call_build_options
(
struct eXosip_t * excontext,
int did,
osip_message_t ** request
)
Build a default OPTIONS within a call.
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.request
The sip request to build.
int eXosip_call_build_update
(
struct eXosip_t * excontext,
int did,
osip_message_t ** request
)
Build a default UPDATE within a call.
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.request
The sip request to build.
int eXosip_call_build_notify
(
struct eXosip_t * excontext,
int did,
int subscription_status,
osip_message_t ** request
)
Build a default NOTIFY within a call.
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.subscription_status
Subscription status of the request.request
The sip request to build.
int eXosip_call_send_request
(
struct eXosip_t * excontext,
int did,
osip_message_t * request
)
send the request within call. (INVITE, OPTIONS, INFO, REFER, UPDATE)
- Parameters
-
excontext
eXosip_t instance.did
dialog id of call.request
The sip request to send.
int eXosip_call_build_answer
(
struct eXosip_t * excontext,
int tid,
int status,
osip_message_t ** answer
)
Build default Answer for request.
- Parameters
-
excontext
eXosip_t instance.tid
id of transaction to answer.status
Status code to use.answer
The sip answer to build.
int eXosip_call_send_answer
(
struct eXosip_t * excontext,
int tid,
int status,
osip_message_t * answer
)
Send Answer for invite.
- Parameters
-
excontext
eXosip_t instance.tid
id of transaction to answer.status
response status if answer is NULL. (not allowed for 2XX)answer
The sip answer to send.
int eXosip_call_terminate
(
struct eXosip_t * excontext,
int cid,
int did
)
Terminate a call. send CANCEL, BYE or 603 Decline.
- Parameters
-
excontext
eXosip_t instance.cid
call id of call.did
dialog id of call.
int eXosip_call_build_prack
(
struct eXosip_t * excontext,
int tid,
osip_message_t ** prack
)
Build a PRACK for invite.
- Parameters
-
excontext
eXosip_t instance.tid
id of the invite transaction.prack
The sip prack to build.
int eXosip_call_send_prack
(
struct eXosip_t * excontext,
int tid,
osip_message_t * prack
)
Send a PRACK for invite.
- Parameters
-
excontext
eXosip_t instance.tid
id of the invite transaction.prack
The sip prack to send.
int eXosip_call_get_referto
(
struct eXosip_t * excontext,
int did,
char * refer_to,
size_t refer_to_len
)
Get Refer-To header with Replace parameter from dialog.
- Parameters
-
excontext
eXosip_t instance.did
id of the dialog.refer_to
buffer to be filled with refer-to info.refer_to_len
size of refer_to buffer.
int eXosip_call_find_by_replaces
(
struct eXosip_t * excontext,
char * replaces
)
Return did (or cid) for the replace header.
- Parameters
-
excontext
eXosip_t instance.replaces
buffer to be filled with refer-to info.