[Asterisk-code-review] pjproject bundled: check whether UPDATE is supported on outg... (asterisk[13])
George Joseph
asteriskteam at digium.com
Wed Dec 12 10:52:11 CST 2018
George Joseph has submitted this change and it was merged. ( https://gerrit.asterisk.org/10717 )
Change subject: pjproject_bundled: check whether UPDATE is supported on outgoing calls
......................................................................
pjproject_bundled: check whether UPDATE is supported on outgoing calls
In ASTERISK-27095 an issue had been fixed because of which chan_pjsip was not
trying to send UPDATE messages when connected_line_method was set to invite.
However this only solved the issue for incoming INVITES. For outgoing INVITES
(important when transferring calls) the options variable needs to be updated
at a different place.
ASTERISK-28182 #close
Reported-by: nappsoft
Change-Id: I76cc06da4ca76ddd6dce814a8b97cc66b98aaf29
---
A third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch
1 file changed, 33 insertions(+), 0 deletions(-)
Approvals:
Benjamin Keith Ford: Looks good to me, but someone else must approve
Joshua C. Colp: Looks good to me, but someone else must approve
George Joseph: Looks good to me, approved; Approved for Submit
diff --git a/third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch b/third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch
new file mode 100644
index 0000000..218c544
--- /dev/null
+++ b/third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch
@@ -0,0 +1,33 @@
+diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c
+--- a/pjsip/src/pjsip-ua/sip_inv.c
++++ b/pjsip/src/pjsip-ua/sip_inv.c
+@@ -4185,6 +4185,29 @@
+
+ if (tsx->status_code != 100) {
+
++ if (inv->role == PJSIP_ROLE_UAC) {
++ pjsip_rx_data *rdata = e->body.tsx_state.src.rdata;
++ pjsip_allow_hdr *allow = NULL;
++ pjsip_msg *msg = rdata->msg_info.msg;
++
++ if (msg) {
++ allow = (pjsip_allow_hdr*) pjsip_msg_find_hdr(msg, PJSIP_H_ALLOW,
++ NULL);
++ }
++ if (allow) {
++ unsigned i;
++ const pj_str_t STR_UPDATE = { "UPDATE", 6 };
++
++ for (i=0; i<allow->count; ++i) {
++ if (pj_stricmp(&allow->values[i], &STR_UPDATE)==0) {
++ /* UPDATE is present in Allow */
++ inv->options |= PJSIP_INV_SUPPORT_UPDATE;
++ break;
++ }
++ }
++ }
++ }
++
+ if (dlg->remote.info->tag.slen)
+ inv_set_state(inv, PJSIP_INV_STATE_EARLY, e);
+
--
To view, visit https://gerrit.asterisk.org/10717
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: merged
Gerrit-Change-Id: I76cc06da4ca76ddd6dce814a8b97cc66b98aaf29
Gerrit-Change-Number: 10717
Gerrit-PatchSet: 2
Gerrit-Owner: Pirmin Walthert <infos at nappsoft.ch>
Gerrit-Reviewer: Benjamin Keith Ford <bford at digium.com>
Gerrit-Reviewer: Friendly Automation (1000185)
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua C. Colp <jcolp at digium.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20181212/0ca9d632/attachment.html>
More information about the asterisk-code-review
mailing list