OsipCallLeg private API
Name
OsipCallLeg private API -- This is the OsipCallLeg api that is used inside the osipua library.
This part of documentation should only concern osipua developpers.
Details
osip_dialog_new_from_incoming_trn ()
OsipDialog* osip_dialog_new_from_incoming_trn
(transaction_t *trn); |
Create a new call-leg from an initial incoming request. The function
assumes that there is no existing call-leg that match the new request.
You should use #osip_dialog_find() to check this.
osip_dialog_send_request ()
int osip_dialog_send_request (OsipDialog *call_leg,
sip_t *sipmsg); |
Sends a sip request. The transaction is created to wrap the request and
to the list of transaction of call-leg call_leg.
osip_dialog_ack ()
void osip_dialog_ack (OsipDialog *call,
transaction_t *trn); |
This function generates and sends an ACK request that will end the
transaction trn. Must never be called outside the osip callbacks.
osip_dialog_send_response ()
void osip_dialog_send_response (OsipDialog *call,
transaction_t *trn,
sip_t *resp); |
Sends the response resp that will be part of the transaction trn,
trn being part of the call-leg call.
osip_dialog_respond ()
void osip_dialog_respond (OsipDialog *call,
transaction_t *trn,
int code); |
This function creates a sip response in the context of the call-leg call
for the last transaction and sends it automatically.
A sdp body can be optionnaly appended to the response.
osip_dialog_update_from_response ()
void osip_dialog_update_from_response
(OsipDialog *call,
sip_t *resp); |
osip_dialog_release ()
Release a dialog. You can't use it anymore, and the object will be
destroyed by the stack when the last transaction of the call-leg
will terminate, either by successfull completion or timeout.
osip_dialog_destroy ()
Destroy a call-leg and all data associated with it.
BUT: this function should not be called directly. You should use
osip_dialog_release instead to schedule the destruction of the call
leg.