struct Sal{
SalCallbacks callbacks;
+ SalTransport transport;
+ MSList *calls; /*MSList of SalOp */
MSList *registers;/*MSList of SalOp */
MSList *out_subscribes;/*MSList of SalOp */
MSList *in_subscribes;/*MSList of SalOp */
MSList *other_transactions; /*MSList of SalOp */
int running;
int session_expires;
- void *up;
+ int keepalive_period;
+ void *up; /*user pointer*/
+ char* rootCa; /* File _or_ folder containing root CA */
+ int dscp;
+ bool_t one_matching_codec;
+ bool_t double_reg;
+ bool_t use_rports;
+ bool_t use_101;
+ bool_t reuse_authorization;
+ bool_t verify_server_certs;
+ bool_t verify_server_cn;
+ bool_t expire_old_contact;
+ bool_t add_dates;
+ bool_t tcp_tls_keepalive;
};
struct SalOp{
eXosip_event_t *pending_auth;
osip_call_id_t *call_id; /*used for out of calls transaction in order
to retrieve the operation when receiving a response*/
+ char *replaces;
+ char *referred_by;
+ const SalAuthInfo *auth_info;
+ const char *sipfrag_pending;
bool_t supports_session_timers;
bool_t sdp_offering;
bool_t reinvite;
+ bool_t masquerade_via;
+ bool_t auto_answer_asked;
+ bool_t terminated;
};
void sal_remove_out_subscribe(Sal *sal, SalOp *op);
void sal_remove_in_subscribe(Sal *sal, SalOp *op);
+void sal_add_other(Sal *sal, SalOp *op, osip_message_t *request);
void sal_exosip_subscription_recv(Sal *sal, eXosip_event_t *ev);
void sal_exosip_subscription_answered(Sal *sal,eXosip_event_t *ev);
void sal_exosip_notify_recv(Sal *sal,eXosip_event_t *ev);
void sal_exosip_subscription_closed(Sal *sal,eXosip_event_t *ev);
+void sal_exosip_in_subscription_closed(Sal *sal, eXosip_event_t *ev);
+SalOp * sal_find_out_subscribe(Sal *sal, int sid);
+SalOp * sal_find_in_subscribe(Sal *sal, int nid);
void sal_exosip_fix_route(SalOp *op);
+void sal_exosip_add_custom_headers(osip_message_t *msg, SalCustomHeader *ch);
+SalCustomHeader * sal_exosip_get_custom_headers(osip_message_t *msg);
+void _osip_list_set_empty(osip_list_t *l, void (*freefunc)(void*));
+
+void sal_message_add_route(osip_message_t *msg, const char *proxy);
#endif