📄 nta.h
字号:
/** Get dialog leg by Replaces header */SOFIAPUBFUNnta_leg_t *nta_leg_by_replaces(nta_agent_t *, sip_replaces_t const *);/** Get dialog leg by CallID */SOFIAPUBFUNnta_leg_t *nta_leg_by_call_id(nta_agent_t *sa, const char *call_id);/* ---------------------------------------------------------------------- * 6) Prototypes for incoming transactions */SOFIAPUBFUNnta_incoming_t *nta_incoming_create(nta_agent_t *agent, nta_leg_t *leg, msg_t *msg, sip_t *sip, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUN nta_incoming_t *nta_incoming_default(nta_agent_t *agent);typedef int nta_ack_cancel_f(nta_incoming_magic_t *imagic, nta_incoming_t *irq, sip_t const *sip);SOFIAPUBFUN void nta_incoming_bind(nta_incoming_t *irq, nta_ack_cancel_f *callback, nta_incoming_magic_t *imagic);SOFIAPUBFUNnta_incoming_magic_t *nta_incoming_magic(nta_incoming_t *irq, nta_ack_cancel_f *callback);SOFIAPUBFUNnta_incoming_t *nta_incoming_find(nta_agent_t const *agent, sip_t const *sip, sip_via_t const *v);SOFIAPUBFUN char const *nta_incoming_tag(nta_incoming_t *irq, char const *tag);SOFIAPUBFUN char const *nta_incoming_gettag(nta_incoming_t const *irq);SOFIAPUBFUN int nta_incoming_status(nta_incoming_t const *irq);SOFIAPUBFUN sip_method_t nta_incoming_method(nta_incoming_t const *irq);SOFIAPUBFUN char const *nta_incoming_method_name(nta_incoming_t const *irq);SOFIAPUBFUN url_t const *nta_incoming_url(nta_incoming_t const *irq);SOFIAPUBFUN uint32_t nta_incoming_cseq(nta_incoming_t const *irq);SOFIAPUBFUN sip_time_t nta_incoming_received(nta_incoming_t *irq, su_nanotime_t *nano);SOFIAPUBFUN int nta_incoming_set_params(nta_incoming_t *irq, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUN msg_t *nta_incoming_getrequest(nta_incoming_t *irq);SOFIAPUBFUN msg_t *nta_incoming_getrequest_ackcancel(nta_incoming_t *irq);SOFIAPUBFUN msg_t *nta_incoming_getresponse(nta_incoming_t *irq);SOFIAPUBFUNint nta_incoming_complete_response(nta_incoming_t *irq, msg_t *msg, int status, char const *phrase, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNmsg_t *nta_incoming_create_response(nta_incoming_t *irq, int status, char const *phrase);SOFIAPUBFUNint nta_incoming_treply(nta_incoming_t *ireq, int status, char const *phrase, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUN int nta_incoming_mreply(nta_incoming_t *irq, msg_t *msg);SOFIAPUBFUN void nta_incoming_destroy(nta_incoming_t *irq);/* Functions for feature, method, mime, session-timer negotation */SOFIAPUBFUNint nta_check_required(nta_incoming_t *irq, sip_t const *sip, sip_supported_t const *supported, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNint nta_check_supported(nta_incoming_t *irq, sip_t const *sip, sip_require_t *require, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNint nta_check_method(nta_incoming_t *irq, sip_t const *sip, sip_allow_t const *allow, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNint nta_check_session_content(nta_incoming_t *irq, sip_t const *sip, sip_accept_t const *session_accepts, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNint nta_check_accept(nta_incoming_t *irq, sip_t const *sip, sip_accept_t const *acceptable, sip_accept_t const **return_acceptable, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNint nta_check_session_expires(nta_incoming_t *irq, sip_t const *sip, sip_time_t my_min_se, tag_type_t tag, tag_value_t value, ...);/* ---------------------------------------------------------------------- * 7) Prototypes for outgoing transactions */typedef int nta_response_f(nta_outgoing_magic_t *magic, nta_outgoing_t *request, sip_t const *sip);SOFIAPUBFUNnta_outgoing_t *nta_outgoing_tcreate(nta_leg_t *leg, nta_response_f *callback, nta_outgoing_magic_t *magic, url_string_t const *route_url, sip_method_t method, char const *method_name, url_string_t const *request_uri, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNnta_outgoing_t *nta_outgoing_mcreate(nta_agent_t *agent, nta_response_f *callback, nta_outgoing_magic_t *magic, url_string_t const *route_url, msg_t *msg, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNnta_outgoing_t *nta_outgoing_default(nta_agent_t *agent, nta_response_f *callback, nta_outgoing_magic_t *magic);SOFIAPUBFUN int nta_outgoing_bind(nta_outgoing_t *orq, nta_response_f *callback, nta_outgoing_magic_t *magic);SOFIAPUBFUN int nta_outgoing_status(nta_outgoing_t const *orq);SOFIAPUBFUN sip_method_t nta_outgoing_method(nta_outgoing_t const *orq);SOFIAPUBFUN char const *nta_outgoing_method_name(nta_outgoing_t const *orq);SOFIAPUBFUN uint32_t nta_outgoing_cseq(nta_outgoing_t const *orq);SOFIAPUBFUN char const *nta_outgoing_branch(nta_outgoing_t const *orq);SOFIAPUBFUN unsigned nta_outgoing_delay(nta_outgoing_t const *orq);SOFIAPUBFUN url_t const *nta_outgoing_request_uri(nta_outgoing_t const *orq);SOFIAPUBFUN url_t const *nta_outgoing_route_uri(nta_outgoing_t const *orq);SOFIAPUBFUN msg_t *nta_outgoing_getresponse(nta_outgoing_t *orq);SOFIAPUBFUN msg_t *nta_outgoing_getrequest(nta_outgoing_t *orq);SOFIAPUBFUNnta_outgoing_t *nta_outgoing_tagged(nta_outgoing_t *orq, nta_response_f *callback, nta_outgoing_magic_t *magic, char const *to_tag, sip_rseq_t const *rseq);SOFIAPUBFUN int nta_outgoing_cancel(nta_outgoing_t *);SOFIAPUBFUNnta_outgoing_t *nta_outgoing_tcancel(nta_outgoing_t *orq, nta_response_f *callback, nta_outgoing_magic_t *magic, tag_type_t, tag_value_t, ...);SOFIAPUBFUN void nta_outgoing_destroy(nta_outgoing_t *);SOFIAPUBFUNnta_outgoing_t *nta_outgoing_find(nta_agent_t const *sa, msg_t const *msg, sip_t const *sip, sip_via_t const *v);SOFIAPUBFUN int nta_tport_keepalive(nta_outgoing_t *orq);/* ---------------------------------------------------------------------- * 8) Reliable provisional responses (100rel) *//* UAC side */SOFIAPUBFUNnta_outgoing_t *nta_outgoing_prack(nta_leg_t *leg, nta_outgoing_t *oorq, nta_response_f *callback, nta_outgoing_magic_t *magic, url_string_t const *route_url, sip_t const *response_to_prack, tag_type_t, tag_value_t, ...);SOFIAPUBFUN uint32_t nta_outgoing_rseq(nta_outgoing_t const *orq);SOFIAPUBFUN int nta_outgoing_setrseq(nta_outgoing_t *orq, uint32_t rseq);/* UAS side *//** NTA reliable response */typedef struct nta_reliable_s nta_reliable_t;#ifndef NTA_RELIABLE_MAGIC_T/** Default type of application context for reliable preliminary responses. * Application may define this to appropriate type before including * <sofia-sip/nta.h>. */#define NTA_RELIABLE_MAGIC_T struct nta_reliable_magic_s#endif/** Application context for reliable preliminary responses. */typedef NTA_RELIABLE_MAGIC_T nta_reliable_magic_t;typedef int nta_prack_f(nta_reliable_magic_t *rmagic, nta_reliable_t *rel, nta_incoming_t *prack, sip_t const *sip);SOFIAPUBFUNnta_reliable_t *nta_reliable_treply(nta_incoming_t *ireq, nta_prack_f *callback, nta_reliable_magic_t *rmagic, int status, char const *phrase, tag_type_t tag, tag_value_t value, ...);SOFIAPUBFUNnta_reliable_t *nta_reliable_mreply(nta_incoming_t *irq, nta_prack_f *callback, nta_reliable_magic_t *rmagic, msg_t *msg);SOFIAPUBFUN void nta_reliable_destroy(nta_reliable_t *);/* ---------------------------------------------------------------------- * Backward-compatibility stuff - going away soon */#define nta_outgoing_tmcreate nta_outgoing_mcreate#define nta_msg_response_complete(msg, irq, status, phrase) \ nta_incoming_complete_response((irq), (msg), (status), (phrase), TAG_END())SOFIAPUBFUN void nta_msg_discard(nta_agent_t *agent, msg_t *msg);SOFIAPUBFUN int nta_is_internal_msg(msg_t const *msg);SOFIA_END_DECLS#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -