I uploaded a review[1] to Gerrit on Friday that could use some additional review and comments. It's meant to solve the problem where multiple pjsip UDP transports are defined and requests go out to a dynamic contact on a different transport than the one the REGISTER came in on.
Example. 2 transports defined. The first is on a public ip address and the second is on a private ip address and the endpoint doesn't explicitly set the transport. We get a REGISTER on the public transport but because the private transport was defined last (and is therefore the default) and the endpoint didn't set an explicit transport, we send a subsequent OPTIONS, NOTIFY, INVITE, etc out from the private transport. To address this, a new option 'symmetric_transport' was added to the pjsip transport object. If set to yes, when a request from a dynamic contact comes in on this transport, the transport name will be saved and used for subsequent outgoing requests like OPTIONS, NOTIFY and INVITE. It's saved as a contact uri parameter named 'x-ast-txp' and will display with the contact uri in CLI, AMI, and ARI output. On the outgoing request, if a transport wasn't explicitly set on the endpoint AND the request URI is not a hostname, the saved transport will be used and the 'x-ast-txp' parameter stripped from the outgoing packet. Additional info in the review commit message. Comments appreciated. [1] https://gerrit.asterisk.org/#/c/5156/ -- George Joseph Digium, Inc. | Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev