sip: Specify invite contact tag

Version 1.12.12 of libsofia-sip-ua no longer automatically generates a
contact header element from the local ip address and port. Specifying
the contact tag does not break operation with the existing
library (1.12.11), but allows for operation on a system with
freeswitch 1.10.4 or later installed, which is built against this new
version of libsofia-sip-ua.

Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246
This commit is contained in:
Matt Johnson 2020-08-10 17:06:00 -07:00
parent e02b4dc84c
commit 06b7ad0152
1 changed files with 4 additions and 0 deletions

View File

@ -597,6 +597,9 @@ static int send_invite(struct sip_agent *agent, struct sip_call_leg *leg,
called_num,
agent->app->sip.remote_addr,
agent->app->sip.remote_port);
char *contact = talloc_asprintf(leg, "sip:%s:%d",
agent->app->sip.local_addr,
agent->app->sip.local_port);
char *sdp = sdp_create_file(leg, other, sdp_sendrecv);
leg->state = SIP_CC_INITIAL;
@ -604,6 +607,7 @@ static int send_invite(struct sip_agent *agent, struct sip_call_leg *leg,
nua_invite(leg->nua_handle,
SIPTAG_FROM_STR(from),
SIPTAG_TO_STR(to),
SIPTAG_CONTACT_STR(contact),
NUTAG_MEDIA_ENABLE(0),
SIPTAG_CONTENT_TYPE_STR("application/sdp"),
SIPTAG_PAYLOAD_STR(sdp),