Asterisk - The Open Source Telephony Project  21.4.1
Data Fields
ast_sip_session_supplement Struct Reference

A supplement to SIP message processing. More...

#include <res_pjsip_session.h>

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. More...
 
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. More...
 
const char * method
 
struct ast_modulemodule
 
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. More...
 

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 290 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.

Definition at line 331 of file res_pjsip_session.h.

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.

Definition at line 347 of file res_pjsip_session.h.

const char* method

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

Definition at line 294 of file res_pjsip_session.h.

struct ast_module* module

Reference module info

Definition at line 292 of file res_pjsip_session.h.

struct { ... } next

Next item in the list

enum ast_sip_supplement_priority priority

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

Definition at line 296 of file res_pjsip_session.h.

enum ast_sip_session_response_priority response_priority

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

Definition at line 364 of file res_pjsip_session.h.

void(* session_end) (struct ast_sip_session *session)

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.

Definition at line 309 of file res_pjsip_session.h.


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