Hi Steve (and the list), A dialtone signal is the best the Meridian can do with the hardware I have. I discovered the dialtone workaround in Cisco documentation.
Any chance you can answer some of my questions? I've reproduced a few below. But first, you gave me new questions. (Ahhh! Too many questions!) If dsp.c is being replaced, what, when, how, who? Where can I read about it? When you say "dsp.c should report DSP_TONE_STATE_DIALTONE" what do you mean? Only if call progress is enabled, I presume, Report to whom? And when you say "should" is there an architecture document I can read. My first suspicion is that the idea may be to offload such features to spandsp, but I didn't see evidence in dsp.c that this was occurring. Does it occur in the channel drivers instead? Perhaps in chan_zap.c, for example. Or is dsp.c intended to be the interface to spandsp? O wait, goertzel_ comes from spandsp and I see your name in spandsp.h. I guess it is too late to add a prefix to spandsp exports such as spandsp_goertzel_. Back on topic, I think the features I'm interested in and willing to contribute are useful. They are certainly useful to me, and if you search for asterisk, hangup and disconnect supervision you will find plenty of people having trouble many of whom were able to resolve or reduce their problems, and some who still have difficulty. [snip] >> It rests on an assumption about dsp->totalsilence. Here is the formal question: >> "What does a value in dsp->totalsilence represent?" >> And here is my attempt to answer it: >> int totalsilence /* duration of current silence in ms. 0 means the current frame was not silence. 20 means that the current 20ms frame was >> the first detected silence. Negative values are undefined. */ To integrate this into callweaver it seems there needs to be a way to configure this "feature" from a configuration file such as zapata.conf. How would I make that happen? Should it piggy back on busydetect for example? At present my test occurs inside >> #ifdef BUSYDETECT >> int opbx_dsp_busydetect(struct opbx_dsp *dsp) >> Perhaps a new option "detectsilencedisconnectseconds=<number>", where the >> default detectsilencedisconnectseconds=0 means don't disconnect on silence. >> I also noted that opbx_dsp_silence would do real harm due to an unintialized value for len if the audio stream is not >> OPBX_FORMAT_SLINEAR >> (callweaver-RC-1.1.99.20070815). [snip] > dsp.c is mostly pretty nasty, and is being replaced in stages. > > If you get dial tone as disconnect tone it is probably going to confuse the current code. dsp.c should report DSP_TONE_STATE_DIALTONE when that happens, which will be out of sequence. Can't the meridian be configured to send a disconnect tone? > > Regards, > Steve > _______________________________________________ Callweaver-dev mailing list [email protected] http://lists.callweaver.org/mailman/listinfo/callweaver-dev
