oSIP fsm Routines
More...
Include dependency graph for osip.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures
Structure for INVITE CLIENT TRANSACTION.
More...
Structure for NON-INVITE CLIENT TRANSACTION.
More...
Structure for INVITE SERVER TRANSACTION.
More...
Structure for NON-INVITE SERVER TRANSACTION.
More...
Structure for SRV record entry.
More...
Structure for SRV record entry.
More...
Structure for NAPTR record entry.
More...
Structure for transaction handling.
More...
Structure for 2XX retransmission management.
More...
Structure for osip handling.
More...
Structure for osip event handling.
More...
Macros
You can re-define the default value for T1.
More...
You can re-define the default value for T1_TCP_PROGRESS.
More...
You can re-define the default value for T2.
More...
You can re-define the default value for T4.
More...
Check if the sipevent is of type RCV_REQINVITE.
More...
Check if the sipevent is of type RCV_REQACK.
More...
Check if the sipevent is of type RCV_REQUEST.
More...
Check if the sipevent is of type RCV_STATUS_1XX.
More...
Check if the sipevent is of type RCV_STATUS_2XX.
More...
Check if the sipevent is of type RCV_STATUS_3456XX.
More...
Check if the sipevent is of type SND_REQINVITE.
More...
Check if the sipevent is of type SND_REQACK.
More...
Check if the sipevent is of type SND_REQUEST.
More...
Check if the sipevent is of type SND_STATUS_1XX.
More...
Check if the sipevent is of type SND_STATUS_2XX.
More...
Check if the sipevent is of type SND_STATUS_3456XX.
More...
Check if the sipevent is of an incoming SIP MESSAGE.
More...
Check if the sipevent is of an incoming SIP REQUEST.
More...
Check if the sipevent is of an incoming SIP RESPONSE.
More...
Check if the sipevent is of an outgoing SIP MESSAGE.
More...
Check if the sipevent is of an outgoing SIP REQUEST.
More...
Check if the sipevent is of an outgoing SIP RESPONSE.
More...
Check if the sipevent is a SIP MESSAGE.
More...
Check if the sipevent is of type KILL_TRANSACTION.
More...
Typedefs
Enumeration for transaction state.
More...
Enumeration for event type.
More...
Enumeration for transaction type.
More...
Structure for INVITE CLIENT TRANSACTION (outgoing INVITE transaction).
More...
Structure for NON-INVITE CLIENT TRANSACTION (outgoing NON-INVITE transaction).
More...
Structure for INVITE SERVER TRANSACTION (incoming INVITE transaction).
More...
Structure for NON-INVITE SERVER TRANSACTION (incoming SERVER transaction).
More...
Structure for SRV record entry.
More...
Structure for NAPTR record.
More...
Structure for transaction handling.
More...
Enumeration for callback type.
More...
Enumeration for callback type used when transaction is over.
More...
Enumeration for callback type used when a transport error is detected.
More...
Callback definition for message announcements.
More...
Callback definition for end of transaction announcements.
More...
Callback definition for transport error announcements.
More...
Structure for 2XX retransmission management.
More...
Structure for osip handling.
More...
Structure for osip event handling.
More...
Enumerations
enum
_state_t {
ICT_PRE_CALLING,
ICT_CALLING,
ICT_PROCEEDING,
ICT_COMPLETED,
ICT_TERMINATED,
IST_PRE_PROCEEDING,
IST_PROCEEDING,
IST_COMPLETED,
IST_CONFIRMED,
IST_TERMINATED,
NICT_PRE_TRYING,
NICT_TRYING,
NICT_PROCEEDING,
NICT_COMPLETED,
NICT_TERMINATED,
NIST_PRE_TRYING,
NIST_TRYING,
NIST_PROCEEDING,
NIST_COMPLETED,
NIST_TERMINATED,
DIALOG_EARLY,
DIALOG_CONFIRMED,
DIALOG_CLOSE
}
Enumeration for transaction state.
More...
enum
type_t {
TIMEOUT_A,
TIMEOUT_B,
TIMEOUT_D,
TIMEOUT_E,
TIMEOUT_F,
TIMEOUT_K,
TIMEOUT_G,
TIMEOUT_H,
TIMEOUT_I,
TIMEOUT_J,
RCV_REQINVITE,
RCV_REQACK,
RCV_REQUEST,
RCV_STATUS_1XX,
RCV_STATUS_2XX,
RCV_STATUS_3456XX,
SND_REQINVITE,
SND_REQACK,
SND_REQUEST,
SND_STATUS_1XX,
SND_STATUS_2XX,
SND_STATUS_3456XX,
KILL_TRANSACTION,
UNKNOWN_EVT
}
Enumeration for event type.
More...
Enumeration for transaction type.
More...
enum
osip_message_callback_type {
OSIP_ICT_INVITE_SENT = 0,
OSIP_ICT_INVITE_SENT_AGAIN,
OSIP_ICT_ACK_SENT,
OSIP_ICT_ACK_SENT_AGAIN,
OSIP_ICT_STATUS_1XX_RECEIVED,
OSIP_ICT_STATUS_2XX_RECEIVED,
OSIP_ICT_STATUS_2XX_RECEIVED_AGAIN,
OSIP_ICT_STATUS_3XX_RECEIVED,
OSIP_ICT_STATUS_4XX_RECEIVED,
OSIP_ICT_STATUS_5XX_RECEIVED,
OSIP_ICT_STATUS_6XX_RECEIVED,
OSIP_ICT_STATUS_3456XX_RECEIVED_AGAIN,
OSIP_IST_INVITE_RECEIVED,
OSIP_IST_INVITE_RECEIVED_AGAIN,
OSIP_IST_ACK_RECEIVED,
OSIP_IST_ACK_RECEIVED_AGAIN,
OSIP_IST_STATUS_1XX_SENT,
OSIP_IST_STATUS_2XX_SENT,
OSIP_IST_STATUS_2XX_SENT_AGAIN,
OSIP_IST_STATUS_3XX_SENT,
OSIP_IST_STATUS_4XX_SENT,
OSIP_IST_STATUS_5XX_SENT,
OSIP_IST_STATUS_6XX_SENT,
OSIP_IST_STATUS_3456XX_SENT_AGAIN,
OSIP_NICT_REGISTER_SENT,
OSIP_NICT_BYE_SENT,
OSIP_NICT_OPTIONS_SENT,
OSIP_NICT_INFO_SENT,
OSIP_NICT_CANCEL_SENT,
OSIP_NICT_NOTIFY_SENT,
OSIP_NICT_SUBSCRIBE_SENT,
OSIP_NICT_UNKNOWN_REQUEST_SENT,
OSIP_NICT_REQUEST_SENT_AGAIN,
OSIP_NICT_STATUS_1XX_RECEIVED,
OSIP_NICT_STATUS_2XX_RECEIVED,
OSIP_NICT_STATUS_2XX_RECEIVED_AGAIN,
OSIP_NICT_STATUS_3XX_RECEIVED,
OSIP_NICT_STATUS_4XX_RECEIVED,
OSIP_NICT_STATUS_5XX_RECEIVED,
OSIP_NICT_STATUS_6XX_RECEIVED,
OSIP_NICT_STATUS_3456XX_RECEIVED_AGAIN,
OSIP_NIST_REGISTER_RECEIVED,
OSIP_NIST_BYE_RECEIVED,
OSIP_NIST_OPTIONS_RECEIVED,
OSIP_NIST_INFO_RECEIVED,
OSIP_NIST_CANCEL_RECEIVED,
OSIP_NIST_NOTIFY_RECEIVED,
OSIP_NIST_SUBSCRIBE_RECEIVED,
OSIP_NIST_UNKNOWN_REQUEST_RECEIVED,
OSIP_NIST_REQUEST_RECEIVED_AGAIN,
OSIP_NIST_STATUS_1XX_SENT,
OSIP_NIST_STATUS_2XX_SENT,
OSIP_NIST_STATUS_2XX_SENT_AGAIN,
OSIP_NIST_STATUS_3XX_SENT,
OSIP_NIST_STATUS_4XX_SENT,
OSIP_NIST_STATUS_5XX_SENT,
OSIP_NIST_STATUS_6XX_SENT,
OSIP_NIST_STATUS_3456XX_SENT_AGAIN,
OSIP_ICT_STATUS_TIMEOUT,
OSIP_NICT_STATUS_TIMEOUT,
OSIP_MESSAGE_CALLBACK_COUNT
}
Enumeration for callback type.
More...
Enumeration for callback type used when transaction is over.
More...
Enumeration for callback type used when a transport error is detected.
More...
Functions
Set a callback for each transaction operation.
More...
Set a callback for transaction operation related to the end of transactions.
More...
Set a callback for each transaction operation related to network error.
More...
Allocate an osip_transaction_t element.
More...
Free all resource in a osip_transaction_t element.
More...
Free all resource in a osip_transaction_t element.
More...
Search in a SIP response the destination where the message should be sent.
More...
Set the host and port destination used for sending the SIP message.
More...
Set the host and port destination used for sending the SIP message.
More...
Add a SIP event in the fifo of a osip_transaction_t element.
More...
Consume one osip_event_t element previously added in the fifo.
More...
Set a pointer to your personal context associated with this transaction.
More...
Set a pointer to your personal context associated with this transaction.
More...
Set a pointer to your personal context associated with this transaction.
More...
Set a pointer to your personal context associated with this transaction.
More...
Set a pointer to your personal context associated with this transaction.
More...
Set a pointer to your personal context associated with this transaction.
More...
Set a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get a pointer to your personal context associated with this transaction.
More...
Get target ip and port for this request.
More...
Set SRV lookup information to be used by state machine.
More...
Set NAPTR lookup information to be used by state machine.
More...
Set the socket for incoming message.
More...
Set the socket for outgoing message.
More...
Allocate an osip_t element.
More...
Free all resource in a osip_t element.
More...
Set a pointer in a osip_t element.
More...
Get a pointer in a osip_t element.
More...
Remove a transaction from the osip stack.
More...
Consume ALL pending osip_event_t previously added in the fifos of ict transactions.
More...
Consume ALL pending osip_event_t previously added in the fifos of ist transactions.
More...
Consume ALL pending osip_event_t previously added in the fifos of nict transactions.
More...
Consume ALL pending osip_event_t previously added in the fifos of nist transactions.
More...
Retreive the minimum timer value to be used by an application so that the osip_timer_*_execute method don't have to be called often.
More...
Check if an ict transactions needs a timer event.
More...
Check if an ist transactions needs a timer event.
More...
Check if a nict transactions needs a timer event.
More...
Check if a nist transactions needs a timer event.
More...
Search for a transaction that match this event (MUST be a MESSAGE event).
More...
Some race conditions can happen in multi threaded applications.
More...
Search for a transaction that match this event (MUST be a MESSAGE event) and add this event if a transaction is found.
More...
Create a transaction for this event (MUST be a SIP REQUEST event).
More...
Create a sipevent from a SIP message string.
More...
Send required retransmissions.
More...
Start out of fsm 200 Ok retransmissions.
More...
Start out of fsm ACK retransmissions.
More...
Stop the out of fsm 200 Ok retransmissions matching an incoming ACK.
More...
Stop out of fsm retransmissions (ACK or 200 Ok) associated to a given dialog.
More...
Allocate a sipevent (we know this message is an OUTGOING SIP message).
More...
Free all resource in a sipevent.
More...
Register the callback used to send SIP message.
More...
Detailed Description
oSIP fsm Routines
Definition in file osip.h.