Waiting for digit ‘D’ did not yield any results. Any other ideas? I am very much interested in getting call waiting caller id to work with Freeswitch and analog lines.
Call waiting caller id works as follow as per my understanding –
1. CO Sends 440hz tone to indicate call waiting
2. Followed by CAS signal (DTMF – 2130/2750)
3. CPE sends DTMF digit ‘D’
4. CO sends FSK caller id in MDMF format
I tried this on my original line by adding the following to the dialplan
<action application="tone_detect" data="cwcid_tone_detect 2750,2130 r 0 transfer '1302 XML default' 1"/>
With ext 1302 doing the following
<action application="playback" data="tone_stream://%(100,0,697,1633)"/> <!—DTMF D-->
<action application="fsk_recv"/>
<action application="set" data="execute_on_fsk=log 'Got FSK [${fsk_phone_num}] [${fsk_phone_name}]'"/>
Had two problems with this scenario
1. FS would never detect the CAS tone
2. To get around, I decided to detect the 440 hz tone, and ignore the CAS tone, added delay of about 100ms to ignore the CAS tone. This resulted in the call being transferred to 1302 but, still no fsk_recv.
Questions –
1. Why does FS not detect the CAS tone?
2. In case of scenario 2, why did mod_fsk not detect the FSK?
I did try the same case with some old Dialogic D/41 cards that I had, and it seems to work fine (detect CAS tone, send D, wait for FSK). I do get the caller id fsk after I transmit the D. There is a permitted possible variation of up to 14hz on the CAS frequencies, however, I do not know how to specify that for mod_tone_detect.
Any help greatly appreciated.
Thanks