[svn-commits] sruffell: branch sruffell/voicebus r3946 - /team/sruffell/voicebus/kernel/
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Wed Mar 5 17:45:49 CST 2008
Author: sruffell
Date: Wed Mar 5 17:45:49 2008
New Revision: 3946
URL: http://svn.digium.com/view/zaptel?view=rev&rev=3946
Log:
Add a printk warning if a request to generate a tone comes in before a tone
zone is loaded.
Modified:
team/sruffell/voicebus/kernel/zaptel-base.c
Modified: team/sruffell/voicebus/kernel/zaptel-base.c
URL: http://svn.digium.com/view/zaptel/team/sruffell/voicebus/kernel/zaptel-base.c?view=diff&rev=3946&r1=3945&r2=3946
==============================================================================
--- team/sruffell/voicebus/kernel/zaptel-base.c (original)
+++ team/sruffell/voicebus/kernel/zaptel-base.c Wed Mar 5 17:45:49 2008
@@ -1141,29 +1141,32 @@
if (tone == -1) {
/* Just stop the current tone */
res = 0;
+ } else if (!chan->curzone) {
+ static int __warnonce = 1;
+ if (__warnonce) {
+ /* The tonezones are loaded by ztcfg based on /etc/zaptel.conf. */
+ printk(KERN_WARNING "zaptel: Cannot start tones until tone zone is loaded.\n");
+ __warnonce = 0;
+ }
+ /* Note that no tone zone exists at the moment */
+ res = -ENODATA;
} else if ((tone >= 0 && tone <= ZT_TONE_MAX)) {
- if (chan->curzone) {
- /* Have a tone zone */
- if (chan->curzone->tones[tone]) {
- chan->curtone = chan->curzone->tones[tone];
- res = 0;
- } else /* Indicate that zone is loaded but no such tone exists */
- res = -ENOSYS;
- } else /* Note that no tone zone exists at the moment */
- res = -ENODATA;
+ /* Have a tone zone */
+ if (chan->curzone->tones[tone]) {
+ chan->curtone = chan->curzone->tones[tone];
+ res = 0;
+ } else { /* Indicate that zone is loaded but no such tone exists */
+ res = -ENOSYS;
+ }
} else if (tone >= ZT_TONE_DTMF_BASE && tone <= ZT_TONE_DTMF_MAX) {
/* ZT_SENDTONE should never be used on a channel configured for pulse dialing */
chan->dialing = 1;
res = 0;
- if ((chan->digitmode == DIGIT_MODE_DTMF) &&
- (tone >= ZT_TONE_DTMF_BASE) &&
- (tone <= ZT_TONE_DTMF_MAX))
+ if (chan->digitmode == DIGIT_MODE_DTMF) {
chan->curtone = &chan->curzone->dtmf_continuous[tone - ZT_TONE_DTMF_BASE];
- else if ((chan->digitmode == DIGIT_MODE_MFV1) &&
- (tone >= ZT_TONE_MF_BASE) &&
- (tone <= ZT_TONE_MF_MAX))
+ } else if (chan->digitmode == DIGIT_MODE_MFV1) {
chan->curtone = &chan->curzone->mf_continuous[tone - ZT_TONE_MF_BASE];
- else {
+ } else {
chan->dialing = 0;
res = -EINVAL;
}
More information about the svn-commits
mailing list