This page gives a short overview of the NUA API: different functions, events, tags, and where and how they affect the workings of the NUA engine.
The application and the NUA engine can pass various parameters between them using tagged arguments. Tagged arguments can be used like named arguments in higher-lever languages.
- NUA Agent
The NUA agent object is created with nua_create(). The nua_create() also creates the transports and binds the transport sockets used by the SIP stack.
The special tags controlling the transports are
See nta_agent_add_tport() for discussion about magic URIs used to initialize transports.
The agent-wide parameter can be later modified or obtained with nua_set_params() and nua_get_params(), respectively.
The su_root_t mainloop integration uses:
- NUA Handles
- nua_handle(), nua_get_hparams(), nua_set_hparams()
- nua_handle_home(), nua_handle_has_invite(), nua_handle_has_subscribe(), nua_handle_has_register(), nua_handle_has_active_call(), nua_handle_has_call_on_hold(), nua_handle_has_events(), nua_handle_has_registrations(), nua_handle_remote(), and nua_handle_local()
Settings:
There are a few "sticky" headers that are used on subsequent requests if included with any handle-specific call:
- Client Generating SIP Requests
- nua_register(), nua_unregister(), nua_invite(), nua_cancel(), nua_ack(), nua_bye(), nua_options(), nua_refer(), nua_publish(), nua_unpublish(), nua_prack(), nua_info(), nua_update(), nua_message(), nua_subscribe(), nua_unsubscribe(), nua_notify(), nua_method()
- NUTAG_URL()
Settings:
- Client Authenticating Requests
- Server Processing Received SIP Requests
- nua_respond(), NUTAG_WITH_THIS(), NUTAG_WITH_SAVED(), NUTAG_WITH()
- nua_i_invite, nua_i_cancel, nua_i_ack, nua_i_bye, nua_i_options, nua_i_refer, nua_i_publish, nua_i_prack, nua_i_info, nua_i_update, nua_i_message, nua_i_subscribe, nua_i_notify, nua_i_method, nua_i_register
Settings:
- Registrations and Contact Header Generation
Settings:
Specifications:
- INVITE Sessions and Call Model
- nua_invite(), nua_r_invite, nua_i_invite
- nua_handle_has_active_call(), nua_handle_has_call_on_hold(), nua_handle_has_invite()
- nua_cancel(), nua_r_cancel, nua_i_cancel
- nua_ack(), nua_i_ack
- nua_bye(), nua_r_bye, nua_i_bye
- nua_i_state, NUTAG_CALLSTATE(), NUTAG_OFFER_SENT(), NUTAG_OFFER_RECV(), NUTAG_ANSWER_RECV(), and NUTAG_ANSWER_SENT(), SOATAG_REMOTE_SDP(), SOATAG_REMOTE_SDP_STR(), SOATAG_LOCAL_SDP(), SOATAG_LOCAL_SDP_STR()
Settings:
Specifications:
- In-Session Information requests
Settings:
- SDP Processing
Settings:
Specifications:
- Call Model Extensions ("100rel" and "precondition")
Early media:
Settings:
Specifications:
- SIP Session Timers ("timer")
Periodic refresh of SIP Session initiated with INVITE with re-INVITE or UPDATE requests.
Settings:
Specifications:
- Caller Preferences and Callee Caps
- Caller preferences in an Accept-Contact header in a INVITE requests
- Callee caps contained in a Contact header in a REGISTER request
Settings:
Specifications:
- Instant Messaging
Settings:
Specifications:
- Call Transfer
- nua_refer(), nua_r_refer, nua_i_notify, SIPTAG_EVENT(), Refer-To, SIPTAG_REFER_TO(), Referred-By, SIPTAG_REFERRED_BY(), nua_handle_make_replaces(), Replaces, SIPTAG_REPLACES(), Refer-Sub, SIPTAG_REFER_SUB()
- nua_i_refer, nua_notify(), nua_r_notify, nua_handle_by_replaces()
- nua_invite() with NUTAG_NOTIFY_REFER() and NUTAG_REFER_EVENT()
Settings:
Specifications:
- Internal SIP Event Server
- Settings
Specifications:
- SIP Event Subscriber
Specifications:
- SIP Event Notifier
Settings:
Specifications
- SIP Event Publisher
Specifications:
- SIP Event State Compositor (PUBLISH Server)
Settings:
Specifications:
- Non-Standard Extension Methods
Settings:
- Server Shutdown