| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
#include "asterisk.h"#include <pjsip.h>#include <pjsip_ua.h>#include "asterisk/res_pjsip.h"#include "asterisk/res_pjsip_session.h"#include "asterisk/module.h"#include "asterisk/strings.h"
Go to the source code of this file.
| Functions | |
| static void | __reg_module (void) | 
| static void | __unreg_module (void) | 
| static int | add_supported (pjsip_tx_data *tdata) | 
| struct ast_module * | AST_MODULE_SELF_SYM (void) | 
| static struct ast_sip_aor * | find_aor (struct ast_sip_contact *contact) | 
| static struct ast_sip_aor * | find_aor2 (struct ast_sip_endpoint *endpoint, pjsip_uri *uri) | 
| static struct ast_sip_contact * | find_contact (struct ast_sip_aor *aor, pjsip_uri *uri) | 
| static int | load_module (void) | 
| static int | path_get_string (pj_pool_t *pool, struct ast_sip_contact *contact, pj_str_t *path_str) | 
| Get the path string associated with this contact and tdata. | |
| static void | path_outgoing_request (struct ast_sip_endpoint *endpoint, struct ast_sip_contact *contact, pjsip_tx_data *tdata) | 
| static void | path_outgoing_response (struct ast_sip_endpoint *endpoint, struct ast_sip_contact *contact, pjsip_tx_data *tdata) | 
| static void | path_session_outgoing_request (struct ast_sip_session *session, pjsip_tx_data *tdata) | 
| static void | path_session_outgoing_response (struct ast_sip_session *session, pjsip_tx_data *tdata) | 
| static int | unload_module (void) | 
| Variables | |
| static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "PJSIP Path Header Support" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_APP_DEPEND, .requires = "res_pjsip,res_pjsip_session", } | 
| static const struct ast_module_info * | ast_module_info = &__mod_info | 
| static const pj_str_t | PATH_NAME = { "Path", 4 } | 
| static struct ast_sip_session_supplement | path_session_supplement | 
| static struct ast_sip_supplement | path_supplement | 
| static pj_str_t | PATH_SUPPORTED_NAME = { "path", 4 } | 
| 
 | static | 
Definition at line 332 of file res_pjsip_path.c.
| 
 | static | 
Definition at line 332 of file res_pjsip_path.c.
| 
 | static | 
Definition at line 174 of file res_pjsip_path.c.
References NULL, and PATH_SUPPORTED_NAME.
Referenced by path_outgoing_request(), and path_outgoing_response().
| struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) | 
Definition at line 332 of file res_pjsip_path.c.
| 
 | static | 
Definition at line 39 of file res_pjsip_path.c.
References ast_sip_contact::aor, ast_sip_location_retrieve_aor(), ast_strlen_zero(), and NULL.
Referenced by path_outgoing_request(), and path_outgoing_response().
| 
 | static | 
Definition at line 51 of file res_pjsip_path.c.
References ao2_cleanup, ast_sip_endpoint::aors, ast_alloca, ast_copy_pj_str(), ast_free, ast_sip_get_sorcery(), ast_sip_location_retrieve_aor(), ast_sip_pjsip_uri_get_hostname(), ast_sip_pjsip_uri_get_username(), AST_SIP_USER_OPTIONS_TRUNCATE_CHECK, ast_sorcery_retrieve_by_id(), ast_str_append(), ast_str_buffer(), ast_str_create, ast_str_set(), ast_strdupa, ast_strip(), ast_strlen_zero(), ast_sip_domain_alias::domain, NULL, and strsep().
Referenced by path_outgoing_request().
| 
 | static | 
Definition at line 118 of file res_pjsip_path.c.
References ao2_cleanup, ao2_container_count(), ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_sip_contact::aor, ast_sip_location_retrieve_aor_contacts(), NULL, RAII_VAR, and ast_sip_contact::uri.
Referenced by path_outgoing_request().
| 
 | static | 
Definition at line 311 of file res_pjsip_path.c.
References AST_MODULE_LOAD_SUCCESS, ast_sip_register_supplement(), ast_sip_session_register_supplement, path_session_supplement, and path_supplement.
| 
 | static | 
Get the path string associated with this contact and tdata.
| pool | |
| contact | The URI identifying the associated contact | 
| path_str | The place to store the retrieved path information | 
| zero | on success | 
| non-zero | on failure or no available path information | 
Definition at line 164 of file res_pjsip_path.c.
References ast_strlen_zero(), and ast_sip_contact::path.
Referenced by path_outgoing_response().
| 
 | static | 
Definition at line 216 of file res_pjsip_path.c.
References add_supported(), ao2_cleanup, ao2_ref, ast_sip_contact::aor, ast_sip_set_outbound_proxy(), ast_strlen_zero(), ast_sip_contact::endpoint, find_aor(), find_aor2(), find_contact(), NULL, ast_sip_contact::path, and RAII_VAR.
Referenced by path_session_outgoing_request().
| 
 | static | 
Definition at line 265 of file res_pjsip_path.c.
References add_supported(), ao2_cleanup, find_aor(), NULL, path_get_string(), PATH_NAME, RAII_VAR, and status.
Referenced by path_session_outgoing_response().
| 
 | static | 
Definition at line 252 of file res_pjsip_path.c.
References path_outgoing_request(), and session.
| 
 | static | 
Definition at line 294 of file res_pjsip_path.c.
References path_outgoing_response(), and session.
| 
 | static | 
Definition at line 319 of file res_pjsip_path.c.
References ast_sip_session_unregister_supplement(), ast_sip_unregister_supplement(), path_session_supplement, and path_supplement.
| 
 | static | 
Definition at line 332 of file res_pjsip_path.c.
| 
 | static | 
Definition at line 332 of file res_pjsip_path.c.
| 
 | static | 
Definition at line 36 of file res_pjsip_path.c.
Referenced by path_outgoing_response().
| 
 | static | 
Definition at line 305 of file res_pjsip_path.c.
Referenced by load_module(), and unload_module().
| 
 | static | 
Definition at line 299 of file res_pjsip_path.c.
Referenced by load_module(), and unload_module().
| 
 | static |