[asterisk-commits] res pjsip session: outgoing call did not offer all configure... (asterisk[15])
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Sep 28 12:32:50 CDT 2017
Jenkins2 has submitted this change and it was merged. ( https://gerrit.asterisk.org/6569 )
Change subject: res_pjsip_session: outgoing call did not offer all configured codecs
......................................................................
res_pjsip_session: outgoing call did not offer all configured codecs
For some scenarios when an outgoing call was made only a subset of the
configured codecs were offered. If the codecs being offered happened to
not have a codec supported by the phone then the call would fail.
For instance Alice and Bob both are configured in Asterisk for g722 and ulaw(
allow=!all,g722,ulaw). Alice's endpoint however only supports g722 while Bob's
only supports ulaw. When Alice calls Bob, Alice negotiates g722 fine with
Asterisk. But when Asterisk sends the outgoing offer to Bob it only contains
g722 and not both g722 and ulaw, so the call ends.
This patch makes it so all the audio codecs configured on the endpoint always
get sent, and not just a subset. However priority is given to those codecs that
are compatible with the "other side".
ASTERISK-27259 #close
Change-Id: Iffabc373bd94cd1dc700925dcfe406e12918c696
---
M res/res_pjsip_session.c
1 file changed, 10 insertions(+), 0 deletions(-)
Approvals:
Benjamin Keith Ford: Looks good to me, but someone else must approve
Joshua Colp: Looks good to me, approved
Jenkins2: Approved for Submit
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index 76dafb3..8b0ca2f 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -2459,6 +2459,16 @@
continue;
}
+ if (ast_stream_get_type(req_stream) == AST_MEDIA_TYPE_AUDIO) {
+ /*
+ * By appending codecs from the endpoint after compatible ones this
+ * guarantees that priority is given to those while also allowing
+ * translation to occur for non-compatible.
+ */
+ ast_format_cap_append_from_cap(joint_cap,
+ endpoint->media.codecs, AST_MEDIA_TYPE_AUDIO);
+ }
+
ast_stream_set_formats(clone_stream, joint_cap);
ao2_ref(joint_cap, -1);
--
To view, visit https://gerrit.asterisk.org/6569
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: 15
Gerrit-MessageType: merged
Gerrit-Change-Id: Iffabc373bd94cd1dc700925dcfe406e12918c696
Gerrit-Change-Number: 6569
Gerrit-PatchSet: 3
Gerrit-Owner: Kevin Harwell <kharwell at digium.com>
Gerrit-Reviewer: Benjamin Keith Ford <bford at digium.com>
Gerrit-Reviewer: Jenkins2
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-commits/attachments/20170928/2f6e85ce/attachment-0001.html>
More information about the asterisk-commits
mailing list