[asterisk-bugs] [JIRA] (ASTERISK-25719) Direct media failure and strange logger output - similar failures with chan_sip or res_pjsip

Rusty Newton (JIRA) noreply at issues.asterisk.org
Fri Jan 22 18:51:32 CST 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rusty Newton updated ASTERISK-25719:
------------------------------------

    Description: 
In the process of looking into ASTERISK-25656 I've run into a variety of weirdness. This is one particular scenario out of a few.

The call involves two machines, A and B.

The primary concern is what is happening on A:

 * Two endpoints on A - ALICE (the phone) and LocalTrunk (the trunk to B)
 * Both endpoints on A are configured for direct_media=yes
 * ALICEs endpoint is configured to allow either G722 or G722 and ALAW
 * LocalTrunk is configured to allow G722 and ALAW
 * The Trunk peer on B is configured for ALAW only.

The rough idea:

 * ALICE calls Asterisk A which Dials Asterisk B
 * The call on Asterisk B hits:

{noformat}
[users]

exten = 123,1,Progress()
 same = n,Background(demo-congrats)
 same = n,Hangup()
{noformat}

If ALICE's Endpoint on Asterisk A is configured to allow G722 only then the call works as expected.

If configured to allow G722 and ALAW then the call does not work as expected.

With G722 only for ALICE Asterisk decides to handle the media and do transcoding, which I believe is the correct thing to do based on the codecs available. However, this seems *contrary to the logger output.*
The Asterisk logger output tells me that the channels are being *remotely bridged* and that media will flow directly between them. Which is not the case.

With G722 and ALAW for ALICE, Asterisk appears to reINVITE for direct media, yet there is no audio. I only got the capture from Asterisk A so we can't see the RTP between ALICE and Asterisk B. However based on the SDP I *think* Astersk A is telling ALICE in the reINVITE that Asterisk B would support G722 and ALAW which is not the case.. only ALAW would be acceptable.
 

  was:
In the process of looking into ASTERISK-25656 I've run into a variety of weirdness. This is one particular scenario out of a few.

The call involves two machines, A and B.

The primary concern is what is happening on A:

 * Two endpoints on A - ALICE (the phone) and LocalTrunk (the trunk to B)
 * Both endpoints on A are configured for direct_media=yes
 * ALICEs endpoint is configured to allow either G722 or G722 and ALAW
 * LocalTrunk is configured to allow G722 and ALAW
 * The Trunk peer on B is configured for ALAW only.

The rough idea:

 * ALICE calls Asterisk A which Dials Asterisk B
 * The call on Asterisk B hits:

{noformat}
[users]

exten = 123,1,Progress()
 same = n,Background(demo-congrats)
 same = n,Hangup()
{noformat}

If ALICE's Endpoint on Asterisk A is configured to allow G722 only then the call works as expected.

If configured to allow G722 and ALAW then the call does not work as expected.

With G722 only for ALICE Asterisk decides to handle the media and do transcoding, which I believe is the correct thing to do based on the codecs available. However, this seems *contrary to the logger output.*
The Asterisk logger output tells me that the channels are being *remotely bridged* and that media will flow directly between them. Which is not the case.

With G722 and ALAW for ALICE, Asterisk appears to reINVITE for direct media, yet there is no audio.
 


> Direct media failure and strange logger output - similar failures with chan_sip or res_pjsip
> --------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-25719
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25719
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/General
>            Reporter: Rusty Newton
>         Attachments: extensions.txt, g722_alaw_capture.pcap, g722_alaw_full.txt, g722_alaw_msgs.txt, g722_only_capture.pcap, g722_only_full.txt, g722_only_msgs.txt, pjsip.txt
>
>
> In the process of looking into ASTERISK-25656 I've run into a variety of weirdness. This is one particular scenario out of a few.
> The call involves two machines, A and B.
> The primary concern is what is happening on A:
>  * Two endpoints on A - ALICE (the phone) and LocalTrunk (the trunk to B)
>  * Both endpoints on A are configured for direct_media=yes
>  * ALICEs endpoint is configured to allow either G722 or G722 and ALAW
>  * LocalTrunk is configured to allow G722 and ALAW
>  * The Trunk peer on B is configured for ALAW only.
> The rough idea:
>  * ALICE calls Asterisk A which Dials Asterisk B
>  * The call on Asterisk B hits:
> {noformat}
> [users]
> exten = 123,1,Progress()
>  same = n,Background(demo-congrats)
>  same = n,Hangup()
> {noformat}
> If ALICE's Endpoint on Asterisk A is configured to allow G722 only then the call works as expected.
> If configured to allow G722 and ALAW then the call does not work as expected.
> With G722 only for ALICE Asterisk decides to handle the media and do transcoding, which I believe is the correct thing to do based on the codecs available. However, this seems *contrary to the logger output.*
> The Asterisk logger output tells me that the channels are being *remotely bridged* and that media will flow directly between them. Which is not the case.
> With G722 and ALAW for ALICE, Asterisk appears to reINVITE for direct media, yet there is no audio. I only got the capture from Asterisk A so we can't see the RTP between ALICE and Asterisk B. However based on the SDP I *think* Astersk A is telling ALICE in the reINVITE that Asterisk B would support G722 and ALAW which is not the case.. only ALAW would be acceptable.
>  



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list