ast_sip_supplement Struct Reference

A supplement to SIP message processing. More...

#include <res_pjsip.h>

Collaboration diagram for ast_sip_supplement:

Collaboration graph
[legend]

Data Fields

int(* incoming_request )(struct ast_sip_endpoint *endpoint, 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_endpoint *endpoint, 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_supplement *   next
next
void(* outgoing_request )(struct ast_sip_endpoint *endpoint, struct ast_sip_contact *contact, 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_endpoint *endpoint, struct ast_sip_contact *contact, 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

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 out of dialog requests and responses

Definition at line 1851 of file res_pjsip.h.


Field Documentation

int(* incoming_request)(struct ast_sip_endpoint *endpoint, 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 supplement_on_rx_request().

void(* incoming_response)(struct ast_sip_endpoint *endpoint, 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 send_request_cb().

const char* method

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

Definition at line 1853 of file res_pjsip.h.

Referenced by send_out_of_dialog_request(), send_request_cb(), supplement_on_rx_request(), and supplement_outgoing_response().

struct { ... } next

Next item in the list

struct ast_sip_supplement* next [read]

Definition at line 1901 of file res_pjsip.h.

void(* outgoing_request)(struct ast_sip_endpoint *endpoint, struct ast_sip_contact *contact, struct pjsip_tx_data *tdata)

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

Referenced by send_out_of_dialog_request().

void(* outgoing_response)(struct ast_sip_endpoint *endpoint, struct ast_sip_contact *contact, struct pjsip_tx_data *tdata)

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

Referenced by supplement_outgoing_response().

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

Definition at line 1855 of file res_pjsip.h.

Referenced by ast_sip_register_supplement().


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