[asterisk-bugs] [JIRA] (ASTERISK-21130) sip_pvt.dsp incorrect manipulation related to inband dtmfmode and faxdetect in SIPDtmfMode() app. and enable_dsp_detect()

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Wed Feb 20 16:17:18 CST 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-21130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=203284#comment-203284 ] 

Richard Mudgett commented on ASTERISK-21130:
--------------------------------------------

I had been wondering why some attachments have not been showing up on issues.  It is because the contribution license on those files is pending.  The attachments should show on the issue when the license is approved.
                
> sip_pvt.dsp incorrect manipulation related to inband dtmfmode and faxdetect in SIPDtmfMode() app. and enable_dsp_detect()
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-21130
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21130
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General
>    Affects Versions: 1.8.20.0
>            Reporter: Roman S.
>            Assignee: Roman S.
>            Severity: Minor
>         Attachments: asterisk-1.8.20.0-dsp-fix.diff
>
>
> 1. If {{sip_pvt.dsp}} is already inited (e.g. with {{faxdetect=yes}}) then it can't be changed with {{SIPDtmfMode()}} app.
> {noformat}
> 30013 static int sip_dtmfmode(struct ast_channel *chan, const char *data)
> 30055         if ((ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_INBAND) ||
> 30056             (ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_AUTO)) {
> 30057                 enable_dsp_detect(p);
>  4598 static void enable_dsp_detect(struct sip_pvt *p)
>  4602         if (p->dsp) {
>  4603                 return;
> {noformat}
> Example:
> {noformat}
> sip.conf:
>  faxdetect = yes ; this enables dsp with DSP_FEATURE_FAX_DETECT flag
>  dtmfmode = rfc2833 ; no DSP_FEATURE_DIGIT_DETECT flag for dsp
> extensions.conf:
>  ...,SIPDtmfMode(inband)
> {noformat}
> {{SIPDtmfMode()}} doesn't set {{DSP_FEATURE_DIGIT_DETECT}} flag for dsp in {{enable_dsp_detect()}}.
> 2. If {{SIPDtmfMode()}} app. disables inband mode (e.g. switch to rfc2833) it also disables faxdetect (indeed any dsp feature).
> {noformat}
> 30013 static int sip_dtmfmode(struct ast_channel *chan, const char *data)
> 30055         if ((ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_INBAND) ||
> 30056             (ast_test_flag(&p->flags[0], SIP_DTMF) == SIP_DTMF_AUTO)) {
> 30057                 enable_dsp_detect(p);
> 30058         } else {
> 30059                 disable_dsp_detect(p);
> 30060         }
> {noformat}
> This check (line 30055) should also contain {{SIP_PAGE2_FAX_DETECT_CNG}} in condition and keep dsp also for faxdetect.
> Example:
> {noformat}
> sip.conf:
>  faxdetect = yes ; this enables dsp with DSP_FEATURE_FAX_DETECT flag
>  dtmfmode = inband ; dsp with DSP_FEATURE_DIGIT_DETECT flag
> extensions.conf:
>  ...,SIPDtmfMode(rfc2833)
> {noformat}
> {{SIPDtmfMode()}} disables any dsp feature including faxdetect (which indeed should be kept).
> Thanks

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list