[Home]

Summary:ASTERISK-14918: [patch] Strange nasty sound (Because Asterisk tryes to handle new voicemail, but there is no voicemails, voicemail isn't used)
Reporter:krisv (krisv)Labels:
Date Opened:2009-10-01 04:47:13Date Closed:2010-07-07 08:22:52
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_dahdi
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) voicemail_bug.patch
Description:chan_dahdi.c: 8369
 res = has_voicemail(last);
 if (last->msgstate != res) {
 /* This channel has a new voicemail state, *  initiate a thread to send an MWI message */
 ...
 }
But in comments for msgstate:
/*! \brief -1 = unknown, 0 = no messages, 1 = new messages available */
int msgstate;
So, if res=0 and last->msgstate = -1 there is a new message! But it's not true.


So, more logical to fix like:
 res = has_voicemail(last);
 if (last->msgstate != res && res > 0) {
 /* This channel has a new voicemail state, * initiate a thread to send an MWI message */
 ...
 }
In this case the strange sound doesn't appear.



****** ADDITIONAL INFORMATION ******

We use asterisk with channel bank with Kewl Start.
The sound appears after changing state (onhook <->offhook).
Comments:By: David Woolley (davidw) 2009-10-01 05:20:25

Digium cannot look at code unless it is submitted as an attachment, after you have accepted their code submission licence terms, and they have agreed your acceptance.

By: Leif Madsen (lmadsen) 2009-10-01 08:35:31

You need to submit this as a unified diff, not the entire chan_dahdi.c file please.

By: krisv (krisv) 2009-10-01 10:19:46

Version chan_dahdi.c:

ASTERISK_FILE_VERSION(__FILE__, "$Revision: 211674 $")

By: krisv (krisv) 2009-10-01 10:21:50

Delete chan_dahdi.patch from here (I couldn't).
Correct attachment is - "voicemail_bug.patch"

By: Alec Davis (alecdavis) 2009-10-12 14:56:00

What hardware are you using?

I know for the wctdm with DAHDI trunk in function wctdm_proslic_check_hook there is code to avoid the FSK spill if just going offhook, see below:<pre>
switch (fxs->lasttxhook) {
case SLIC_LF_RINGING:
case SLIC_LF_OHTRAN_FWD:
case SLIC_LF_OHTRAN_REV:
/* just detected OffHook, during
* Ringing or OnHookTransfer */
fxs->idletxhookstate = POLARITY_XOR ? SLIC_LF_ACTIVE_REV : SLIC_LF_ACTIVE_FWD;
break;
}
</pre>

You'll find similar in wctdm24xxp/base.c

We don't want to ignore the msgstate of -1, this is used to force a message check.

I haven't checked the following, but if voicemail is not enabled, why send the VMWI FSK?

By: krisv (krisv) 2009-10-13 05:22:48

We use our own equipment and our own driver. The driver just sends E1 from hardware to DAHDI base driver. We don't use drivers for wctdm24xxp or wctdm drivers and etc.  Do we need to do something in our driver to correct situation with this strange noise?

Voicemail is not used, but we didn't disable it. Is it possible to correct this situation by changing .conf files?



By: Michael L. Young (elguero) 2010-07-06 19:39:19

So, if I am following the comments, is this really a bug?  It almost looks like it might be something to do with the driver being used?

By: Leif Madsen (lmadsen) 2010-07-07 08:22:51

Based on the comments in this issue, it appears you are working on third-party software which cannot be supported here. For additional help with code modifications, please utilize the asterisk-dev mailing list.