ast_sip_session_supplement Struct Reference

A supplement to SIP message processing. More...

#include <res_pjsip_session.h>

Collaboration diagram for ast_sip_session_supplement:

Collaboration graph
[legend]

Data Fields

int(* incoming_request )(struct ast_sip_session *session, struct pjsip_rx_data *rdata)
 Called on incoming SIP request This method can indicate a failure in processing in its return. If there is a failure, it is required that this method sends a response to the request. This method is always called from a SIP servant thread.
void(* incoming_response )(struct ast_sip_session *session, struct pjsip_rx_data *rdata)
 Called on an incoming SIP response This method is always called from a SIP servant thread.
const char * method
struct {
   struct ast_sip_session_supplement *   next
next
void(* outgoing_request )(struct ast_sip_session *session, struct pjsip_tx_data *tdata)
 Called on an outgoing SIP request This method is always called from a SIP servant thread.
void(* outgoing_response )(struct ast_sip_session *session, struct pjsip_tx_data *tdata)
 Called on an outgoing SIP response This method is always called from a SIP servant thread.
enum ast_sip_supplement_priority priority
enum
ast_sip_session_response_priority 
response_priority
void(* session_begin )(struct ast_sip_session *session)
 Notification that the session has begun This method will always be called from a SIP servant thread.
void(* session_destroy )(struct ast_sip_session *session)
 Notification that the session is being destroyed.
void(* session_end )(struct ast_sip_session *session)
 Notification that the session has ended.

Detailed Description

A supplement to SIP message processing.

These can be registered by any module in order to add processing to incoming and outgoing SIP requests and responses

Definition at line 192 of file res_pjsip_session.h.


Field Documentation

int(* incoming_request)(struct ast_sip_session *session, struct pjsip_rx_data *rdata)

Called on incoming SIP request This method can indicate a failure in processing in its return. If there is a failure, it is required that this method sends a response to the request. This method is always called from a SIP servant thread.

Note:
The following PJSIP methods will not work properly: pjsip_rdata_get_dlg() pjsip_rdata_get_tsx() The reason is that the rdata passed into this function is a cloned rdata structure, and its module data is not copied during the cloning operation. If you need to get the dialog, you can get it via session->inv_session->dlg.

There is no guarantee that a channel will be present on the session when this is called.

Referenced by handle_incoming_request().

void(* incoming_response)(struct ast_sip_session *session, struct pjsip_rx_data *rdata)

Called on an incoming SIP response This method is always called from a SIP servant thread.

Note:
The following PJSIP methods will not work properly: pjsip_rdata_get_dlg() pjsip_rdata_get_tsx() The reason is that the rdata passed into this function is a cloned rdata structure, and its module data is not copied during the cloning operation. If you need to get the dialog, you can get it via session->inv_session->dlg.

There is no guarantee that a channel will be present on the session when this is called.

Referenced by handle_incoming_response().

const char* method

Method on which to call the callbacks. If NULL, call on all methods

Definition at line 194 of file res_pjsip_session.h.

Referenced by handle_incoming_request(), handle_incoming_response(), handle_outgoing_request(), handle_outgoing_response(), and has_supplement().

struct { ... } next

Next item in the list

void(* outgoing_request)(struct ast_sip_session *session, struct pjsip_tx_data *tdata)

Called on an outgoing SIP request This method is always called from a SIP servant thread.

Referenced by handle_outgoing_request().

void(* outgoing_response)(struct ast_sip_session *session, struct pjsip_tx_data *tdata)

Called on an outgoing SIP response This method is always called from a SIP servant thread.

Referenced by handle_outgoing_response().

Priority for this supplement. Lower numbers are visited before higher numbers

Definition at line 196 of file res_pjsip_session.h.

Referenced by ast_sip_session_register_supplement().

Determines when the supplement is processed when handling a response. Defaults to AST_SIP_SESSION_BEFORE_MEDIA

Definition at line 264 of file res_pjsip_session.h.

Referenced by ast_sip_session_register_supplement(), and handle_incoming_response().

Notification that the session has begun This method will always be called from a SIP servant thread.

Referenced by ast_sip_session_alloc().

Notification that the session is being destroyed.

Referenced by session_destructor().

Notification that the session has ended.

This method may or may not be called from a SIP servant thread. Do not make assumptions about being able to call PJSIP methods from within this method.

Referenced by session_end().


The documentation for this struct was generated from the following file:

Generated on Thu Apr 16 06:35:38 2015 for Asterisk - The Open Source Telephony Project by  doxygen 1.5.6