Michael Maier
2017-May-12 17:46 UTC
[asterisk-users] pjsip: asterisk can't decide which codec to use
Hello! I'm facing completely choppy sound. The wireshark trace shows, that there are a lot of codec changes without any trigger (means no options or reinvite or any other package). Background: The call is initiated by asterisk and is received by the same asterisk conference room via Phone extension -> asterisk -> provider A -> provider B -> asterisk. Asterisk initially sends invites using g722 and g711 and gets exactly this invite back as incoming call. The answer is g722,g711 in the ok sdp. Now, Asterisk can't decide, which codec to use. It frequently changes the codec just as it likes to apparently without any visible reason. [2017-05-11 17:28:03] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from none to alaw [2017-05-11 17:28:03] DEBUG[5113][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from none to alaw [2017-05-11 17:28:04] DEBUG[5123][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from none to alaw [2017-05-11 17:28:04] DEBUG[5113][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:04] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:04] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw [2017-05-11 17:28:13] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:13] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw [2017-05-11 17:28:19] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:19] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw [2017-05-11 17:28:23] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:23] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw [2017-05-11 17:28:23] DEBUG[5123][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:23] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 [2017-05-11 17:28:28] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw [2017-05-11 17:28:28] DEBUG[5123][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw 0000003a -> inbound channel (callee) 00000039 -> outbound channel (caller) If I'm doing exactly the same call originated with another extension, there can't be seen these frequent changes. But the strange thing is, that in both cases the part between extension and asterisk doesn't show any codec changes ... . Deeper investigations show, that if the conference (callee) sends the first rtp package (-> g711 - should be g722), things are going choppy, if the extension (caller) sends the first package (g722), things are running stable. Any idea to convince asterisk always to use the first codec of ok sdp or how to convince asterisk to put only one codec to ok sdp (the first). Thanks, regards, Michael
Michael Maier
2017-May-12 18:44 UTC
[asterisk-users] pjsip: asterisk can't decide which codec to use
On 05/12/2017 at 07:46 PM, Michael Maier wrote: Forgot to mention: It's actual asterisk 13 branch from today (version before I tested, which has the same problem, was 13.15). Regards, Michael> Hello! > > I'm facing completely choppy sound. The wireshark trace shows, that > there are a lot of codec changes without any trigger (means no options > or reinvite or any other package). > > Background: > The call is initiated by asterisk and is received by the same asterisk > conference room via > Phone extension -> asterisk -> provider A -> provider B -> asterisk. > > Asterisk initially sends invites using g722 and g711 and gets exactly > this invite back as incoming call. The answer is g722,g711 in the ok sdp. > > Now, Asterisk can't decide, which codec to use. It frequently changes > the codec just as it likes to apparently without any visible reason. > > [2017-05-11 17:28:03] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from none to alaw > > [2017-05-11 17:28:03] DEBUG[5113][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from none to alaw > [2017-05-11 17:28:04] DEBUG[5123][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from none to alaw > [2017-05-11 17:28:04] DEBUG[5113][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > > [2017-05-11 17:28:04] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > [2017-05-11 17:28:04] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw > [2017-05-11 17:28:13] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > [2017-05-11 17:28:13] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw > [2017-05-11 17:28:19] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > [2017-05-11 17:28:19] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw > [2017-05-11 17:28:23] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > [2017-05-11 17:28:23] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw > > [2017-05-11 17:28:23] DEBUG[5123][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > > [2017-05-11 17:28:23] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from alaw to g722 > [2017-05-11 17:28:28] DEBUG[5121][C-0000003a]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw > > [2017-05-11 17:28:28] DEBUG[5123][C-00000039]: res_rtp_asterisk.c:3634 ast_rtp_write: Ooh, format changed from g722 to alaw > > 0000003a -> inbound channel (callee) > 00000039 -> outbound channel (caller) > > > If I'm doing exactly the same call originated with another extension, > there can't be seen these frequent changes. But the strange thing is, > that in both cases the part between extension and asterisk doesn't show > any codec changes ... . > > Deeper investigations show, that if the conference (callee) sends the > first rtp package (-> g711 - should be g722), things are going choppy, > if the extension (caller) sends the first package (g722), things are > running stable. > > > Any idea to convince asterisk always to use the first codec of ok sdp > or how to convince asterisk to put only one codec to ok sdp (the first). > > > > Thanks, > regards, > Michael >
Joshua Colp
2017-May-12 18:49 UTC
[asterisk-users] pjsip: asterisk can't decide which codec to use
On Fri, May 12, 2017, at 02:46 PM, Michael Maier wrote: <snip>> > If I'm doing exactly the same call originated with another extension, > there can't be seen these frequent changes. But the strange thing is, > that in both cases the part between extension and asterisk doesn't show > any codec changes ... . > > Deeper investigations show, that if the conference (callee) sends the > first rtp package (-> g711 - should be g722), things are going choppy, > if the extension (caller) sends the first package (g722), things are > running stable. > > > Any idea to convince asterisk always to use the first codec of ok sdp > or how to convince asterisk to put only one codec to ok sdp (the first).This is not currently an option in chan_pjsip but I'd suggest filing an issue[1] for this scenario with all available information. [1] https://issues.asterisk.org/jira -- Joshua Colp Digium, Inc. | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org
Michael Maier
2017-May-13 05:21 UTC
[asterisk-users] pjsip: asterisk can't decide which codec to use
On 05/12/2017 at 08:49 PM, Joshua Colp wrote:> On Fri, May 12, 2017, at 02:46 PM, Michael Maier wrote: > > <snip> > >> >> If I'm doing exactly the same call originated with another extension, >> there can't be seen these frequent changes. But the strange thing is, >> that in both cases the part between extension and asterisk doesn't show >> any codec changes ... . >> >> Deeper investigations show, that if the conference (callee) sends the >> first rtp package (-> g711 - should be g722), things are going choppy, >> if the extension (caller) sends the first package (g722), things are >> running stable. >> >> >> Any idea to convince asterisk always to use the first codec of ok sdp >> or how to convince asterisk to put only one codec to ok sdp (the first). > > This is not currently an option in chan_pjsip but I'd suggest filing an > issue[1] for this scenario with all available information. > > [1] https://issues.asterisk.org/jirahttps://issues.asterisk.org/jira/browse/ASTERISK-26996 Thanks, regards, Michael
Possibly Parallel Threads
- pjsip: asterisk can't decide which codec to use
- asterisk 13.18.0: pjsip: unnecessary 603 decline because of wrong codec decision
- Setting codec on originating (calling) channel with chan_pjsip (SIP_CODEC_INBOUND equivalent)
- Outbound call: caller gets no ringback on session progress
- Setting codec on originating (calling) channel with chan_pjsip (SIP_CODEC_INBOUND equivalent)