libosip  5.3.0
How-To initialize libosip2.

Initialize osip.

When using osip, your first task is to initialize the parser and the state machine. This must be done prior to any use of libosip2.

#include <osip2/osip.h>
int i;
if (i!=0)
return -1;
int osip_init(osip_t **osip)
Definition: osip.c:980
oSIP fsm Routines
Definition: osip.h:558

In case you want to use the state machines (transaction management), the second step will be to set a few callbacks which will inform you of any change in the state of a SIP transaction.

Most of the following callbacks are optional. The following ones are usefull.

// callback called when a SIP message must be sent.
osip_set_cb_send_message(osip, &cb_udp_snd_message);
// callback called when a SIP transaction is TERMINATED.
&cb_ict_kill_transaction);
&cb_ist_kill_transaction);
&cb_nict_kill_transaction);
&cb_nist_kill_transaction);
// callback called when the callback to send message have failed.
&cb_transport_error);
&cb_transport_error);
&cb_transport_error);
&cb_transport_error);
// callback called when a received answer has been accepted by the transaction.
// callback called when a received answer has been accepted by the transaction.
// callback called when a received request has been accepted by the transaction.
// other callbacks exists... They are optionnal.
int osip_set_kill_transaction_callback(osip_t *config, int type, osip_kill_transaction_cb_t cb)
Definition: osip.c:1699
void osip_set_cb_send_message(osip_t *cf, int(*cb)(osip_transaction_t *, osip_message_t *, char *, int, int))
Definition: osip.c:1639
int osip_set_message_callback(osip_t *config, int type, osip_message_cb_t cb)
Definition: osip.c:1688
int osip_set_transport_error_callback(osip_t *config, int type, osip_transport_error_cb_t cb)
Definition: osip.c:1709
@ OSIP_ICT_STATUS_5XX_RECEIVED
Definition: osip.h:420
@ OSIP_NICT_STATUS_2XX_RECEIVED
Definition: osip.h:447
@ OSIP_ICT_STATUS_6XX_RECEIVED
Definition: osip.h:421
@ OSIP_NIST_INFO_RECEIVED
Definition: osip.h:458
@ OSIP_NICT_STATUS_6XX_RECEIVED
Definition: osip.h:452
@ OSIP_NIST_REGISTER_RECEIVED
Definition: osip.h:455
@ OSIP_NICT_STATUS_3XX_RECEIVED
Definition: osip.h:449
@ OSIP_NIST_BYE_RECEIVED
Definition: osip.h:456
@ OSIP_NICT_STATUS_5XX_RECEIVED
Definition: osip.h:451
@ OSIP_ICT_STATUS_1XX_RECEIVED
Definition: osip.h:415
@ OSIP_NIST_SUBSCRIBE_RECEIVED
Definition: osip.h:461
@ OSIP_NICT_STATUS_1XX_RECEIVED
Definition: osip.h:446
@ OSIP_ICT_STATUS_4XX_RECEIVED
Definition: osip.h:419
@ OSIP_IST_ACK_RECEIVED
Definition: osip.h:426
@ OSIP_ICT_STATUS_2XX_RECEIVED
Definition: osip.h:416
@ OSIP_NIST_UNKNOWN_REQUEST_RECEIVED
Definition: osip.h:463
@ OSIP_NICT_STATUS_4XX_RECEIVED
Definition: osip.h:450
@ OSIP_NIST_NOTIFY_RECEIVED
Definition: osip.h:460
@ OSIP_IST_INVITE_RECEIVED
Definition: osip.h:424
@ OSIP_NIST_OPTIONS_RECEIVED
Definition: osip.h:457
@ OSIP_ICT_STATUS_3XX_RECEIVED
Definition: osip.h:418
@ OSIP_NIST_CANCEL_RECEIVED
Definition: osip.h:459
@ OSIP_ICT_KILL_TRANSACTION
Definition: osip.h:484
@ OSIP_NIST_KILL_TRANSACTION
Definition: osip.h:487
@ OSIP_IST_KILL_TRANSACTION
Definition: osip.h:485
@ OSIP_NICT_KILL_TRANSACTION
Definition: osip.h:486
@ OSIP_IST_TRANSPORT_ERROR
Definition: osip.h:497
@ OSIP_ICT_TRANSPORT_ERROR
Definition: osip.h:496
@ OSIP_NIST_TRANSPORT_ERROR
Definition: osip.h:499
@ OSIP_NICT_TRANSPORT_ERROR
Definition: osip.h:498