summaryrefslogtreecommitdiff
path: root/include/asterisk/res_pjsip.h
diff options
context:
space:
mode:
authorAlexei Gradinari <alex2grad@gmail.com>2016-05-19 15:56:26 -0400
committerAlexei Gradinari <alex2grad@gmail.com>2016-05-26 16:18:11 -0500
commit31f17abe449c2a9b43ef4e820792fb52d4b27d7a (patch)
treedc5464d92bce81601bcd240c0bdb9b397822bcb4 /include/asterisk/res_pjsip.h
parenta6b16d7029a7a44c6a43b3b0f1cbc74cecd11454 (diff)
res_pjsip: add "via_addr", "via_port", "call_id" to contact
As res_pjsip_nat rewrites contact's address, only the last Via header can contain the source address of registered endpoint. Also Call-Id header may contain the source address of registered endpoint. Added "via_addr", "via_port", "call_id" to contact. Added new fields ViaAddress, CallID to AMI event ContactStatus. ASTERISK-26011 Change-Id: I36bcc0bf422b3e0623680152d80486aeafe4c576
Diffstat (limited to 'include/asterisk/res_pjsip.h')
-rw-r--r--include/asterisk/res_pjsip.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index cf8c719d5..50d02d980 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -250,6 +250,12 @@ struct ast_sip_contact {
struct ast_sip_endpoint *endpoint;
/*! Asterisk Server name */
AST_STRING_FIELD_EXTENDED(reg_server);
+ /*! IP-address of the Via header in REGISTER request */
+ AST_STRING_FIELD_EXTENDED(via_addr);
+ /* Port of the Via header in REGISTER request */
+ int via_port;
+ /*! Content of the Call-ID header in REGISTER request */
+ AST_STRING_FIELD_EXTENDED(call_id);
};
#define CONTACT_STATUS "contact_status"
@@ -1093,6 +1099,7 @@ struct ast_sip_contact *ast_sip_location_retrieve_contact(const char *contact_na
*/
int ast_sip_location_add_contact(struct ast_sip_aor *aor, const char *uri,
struct timeval expiration_time, const char *path_info, const char *user_agent,
+ const char *via_addr, int via_port, const char *call_id,
struct ast_sip_endpoint *endpoint);
/*!
@@ -1114,6 +1121,7 @@ int ast_sip_location_add_contact(struct ast_sip_aor *aor, const char *uri,
*/
int ast_sip_location_add_contact_nolock(struct ast_sip_aor *aor, const char *uri,
struct timeval expiration_time, const char *path_info, const char *user_agent,
+ const char *via_addr, int via_port, const char *call_id,
struct ast_sip_endpoint *endpoint);
/*!