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
This commit is contained in:
Alexei Gradinari
2016-05-19 15:56:26 -04:00
parent f09f923514
commit 230686f4ec
8 changed files with 130 additions and 2 deletions

View File

@@ -1172,6 +1172,28 @@
Asterisk Server name on which SIP endpoint registered.
</para></description>
</configOption>
<configOption name="via_addr">
<synopsis>IP-address of the last Via header from registration.</synopsis>
<description><para>
The last Via header should contain the address of UA which sent the request.
The IP-address of the last Via header is automatically stored based on data present
in incoming SIP REGISTER requests and is not intended to be configured manually.
</para></description>
</configOption>
<configOption name="via_port">
<synopsis>IP-port of the last Via header from registration.</synopsis>
<description><para>
The IP-port of the last Via header is automatically stored based on data present
in incoming SIP REGISTER requests and is not intended to be configured manually.
</para></description>
</configOption>
<configOption name="call_id">
<synopsis>Call-ID header from registration.</synopsis>
<description><para>
The Call-ID header is automatically stored based on data present
in incoming SIP REGISTER requests and is not intended to be configured manually.
</para></description>
</configOption>
</configObject>
<configObject name="aor">
<synopsis>The configuration for a location of an endpoint</synopsis>
@@ -1961,6 +1983,12 @@
<parameter name="RegExpire">
<para>Absolute time that this contact is no longer valid after</para>
</parameter>
<parameter name="ViaAddress">
<para>IP address:port of the last Via header in REGISTER request</para>
</parameter>
<parameter name="CallID">
<para>Content of the Call-ID header in REGISTER request</para>
</parameter>
</syntax>
</managerEventInstance>
</managerEvent>