[asterisk-bugs] [JIRA] (ASTERISK-24841) ConfBridge: Strange sampling rates chosen when channels have multiple native formats

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Thu Mar 26 13:05:34 CDT 2015


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

Work on ASTERISK-24841 started by Richard Mudgett.

> ConfBridge: Strange sampling rates chosen when channels have multiple native formats
> ------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-24841
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24841
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_confbridge
>            Reporter: Matt Jordan
>            Assignee: Richard Mudgett
>
> Say we have two PJSIP channels who are configured with {{allow=!all,g722,ulaw,alaw}}. When two or more channels enter into a ConfBridge configured with this - and when their native format capabilities are allowed to represent the joint capabilities of the offered SDP + the endpoint's configuration - ConfBridge and/or {{bridge_softmix}} makes some poor decisions on the transcoding paths made.
> Note that this was introduced in r432195 in {{res_pjsip_sdp_rtp}}.
> For example, the following is what "core show channels" outputs for the two channels *without the specified revision applied*
> {noformat}
> *CLI> core show channel PJSIP/201-00000002 
>  -- General --
>            Name: PJSIP/201-00000002
>            Type: PJSIP
>        UniqueID: 1425319590.8
>        LinkedID: 1425319590.8
>       Caller ID: 54321
>  Caller ID Name: Kram
> Connected Line ID: (N/A)
> Connected Line ID Name: (N/A)
> Eff. Connected Line ID: (N/A)
> Eff. Connected Line ID Name: (N/A)
>     DNID Digits: (N/A)
>        Language: en
>           State: Up (6)
>   NativeFormats: (g722)
>     WriteFormat: slin16
>      ReadFormat: slin16
>  WriteTranscode: Yes (slin at 16000)->(g722 at 16000)
>   ReadTranscode: Yes (g722 at 16000)->(slin at 16000)
>  Time to Hangup: 0
>    Elapsed Time: 0h0m27s
>       Bridge ID: b118cb8b-bfcd-4418-9b6d-e9404e3593c5
>  --   PBX   --
>         Context: default
>       Extension: 100
>        Priority: 1
>      Call Group: 0
>    Pickup Group: 0
>     Application: ConfBridge
>            Data: hello
>  Call Identifer: [C-00000002]
>       Variables:
> BRIDGEPVTCALLID=YMNZlXZqaVp9OAGcaXEKZPq6kzK6TAX6
> BRIDGEPEER=PJSIP/202-00000003
>   CDR Variables:
> level 1: calledsubaddr=
> level 1: callingsubaddr=
> level 1: dnid=
> level 1: clid="Kr
> level 1: src=543
> level 1: dst=100
> level 1: dcontext=def
> level 1: channel=PJS
> level 1: dstchannel=PJS
> level 1: lastapp=Con
> level 1: lastdata=hel
> level 1: start=142
> level 1: answer=142
> level 1: end=0.0
> level 1: duration=26
> level 1: billsec=26
> level 1: disposition=1
> level 1: amaflags=3
> level 1: uniqueid=142
> level 1: linkedid=142
> level 1: sequence=2
> {noformat}
> The other involved channel looks mostly the same, just with different identifiers.
> Here is what "core show channels" displays *with the revision applied*
> {noformat}
> *CLI> core show channel PJSIP/201-00000000 
>  -- General --
>            Name: PJSIP/201-00000000
>            Type: PJSIP
>        UniqueID: 1425319903.2
>        LinkedID: 1425319903.2
>       Caller ID: 54321
>  Caller ID Name: Kram
> Connected Line ID: (N/A)
> Connected Line ID Name: (N/A)
> Eff. Connected Line ID: (N/A)
> Eff. Connected Line ID Name: (N/A)
>     DNID Digits: (N/A)
>        Language: en
>           State: Up (6)
>   NativeFormats: (g722|ulaw|alaw)
>     WriteFormat: slin
>      ReadFormat: slin
>  WriteTranscode: Yes (slin at 8000)->(ulaw at 8000)
>   ReadTranscode: Yes (ulaw at 8000)->(slin at 8000)
>  Time to Hangup: 0
>    Elapsed Time: 0h0m44s
>       Bridge ID: 1b81ebed-d41f-4294-891a-77f68c1e5042
>  --   PBX   --
>         Context: default
>       Extension: 100
>        Priority: 1
>      Call Group: 0
>    Pickup Group: 0
>     Application: ConfBridge
>            Data: hello
>  Call Identifer: [C-00000000]
>       Variables:
> BRIDGEPVTCALLID=CFtt3zKX2rmJH45IV.nrG5vGX2z.hcxZ
> BRIDGEPEER=PJSIP/202-00000001
>   CDR Variables:
> level 1: calledsubaddr=
> level 1: callingsubaddr=
> level 1: dnid=
> level 1: clid="Kr
> level 1: src=543
> level 1: dst=100
> level 1: dcontext=def
> level 1: channel=PJS
> level 1: dstchannel=PJS
> level 1: lastapp=Con
> level 1: lastdata=hel
> level 1: start=142
> level 1: answer=142
> level 1: end=0.0
> level 1: duration=44
> level 1: billsec=44
> level 1: disposition=1
> level 1: amaflags=3
> level 1: uniqueid=142
> level 1: linkedid=142
> level 1: sequence=0
> {noformat}
> Notice that the bad version has slin instead of slin16 as the read and write formats on the channel and has slin->ulaw as the transcode instead of slin16->g722.



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



More information about the asterisk-bugs mailing list