I had to return my TDM11B because it put the PSTN line 'off hook' the moment I plugged it in and wouldn't hang it up. The new card seems to work because I can actually make an outgoing call from the FXO port to my cell phone, so I'm pretty happy about that. But Asterisk doesn't recognize incoming calls from the PSTN. If I dial my home phone from my cell phone asterisk does not even recognize the ring. Below is (I think) the relevant config files. My question is: How do I make asterisk recognize when the phone is ringing? Thanks in advance lane ;zaptel.conf fxsks=4 fxoks=1 loadzone = us defaultzone=us ; ;zapata.conf [channels] language=en rxwink=300 usecallerid=yes cidsignalling=bell hidecallerid=no callwaiting=yes usecallingpres=yes threewaycalling=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes rxgain=0.0 txgain=0.0 callgroup=1 pickupgroup=1 immediate=no signalling => fxo_ks channel => 1 signalling => fxs_ks channel => 4 ; extensions.conf [globals] CONSOLE=Zap/1 TRUNK=Zap/4 TRUNKMSD=1 [trunklocal] exten => _9NXXXXXX,1,PlayBack(vm-dialout) exten => _9NXXXXXX,2,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9NXXXXXX,3,Congestion [incoming] exten => s,1,Answer exten => s,2,DigitTimeout,5 exten => s,3,ResponseTimeout,10 exten => s,4,Playback(tt-weasels) ; [local] ignorepat => 9 include => trunklocal ; [default] include=incoming include=local
Rich Adamson
2005-Feb-11 23:07 UTC
[Asterisk-Users] Asterisk won't answer incoming analog line
> I had to return my TDM11B because it put the PSTN line 'off hook' the moment I > plugged it in and wouldn't hang it up. > > The new card seems to work because I can actually make an outgoing call from > the FXO port to my cell phone, so I'm pretty happy about that. > > But Asterisk doesn't recognize incoming calls from the PSTN. If I dial my > home phone from my cell phone asterisk does not even recognize the ring. > > Below is (I think) the relevant config files. My question is: How do I make > asterisk recognize when the phone is ringing? > > Thanks in advance > > lane > > ;zaptel.conf > fxsks=4 > fxoks=1 > loadzone = us > defaultzone=us > ; > > ;zapata.conf > > [channels] > language=en > rxwink=300 > usecallerid=yes > cidsignalling=bell > hidecallerid=no > callwaiting=yes > usecallingpres=yes > threewaycalling=yes > cancallforward=yes > callreturn=yes > echocancel=yes > echocancelwhenbridged=yes > rxgain=0.0 > txgain=0.0 > callgroup=1 > pickupgroup=1 > immediate=no > signalling => fxo_ks > channel => 1 > signalling => fxs_ks > channel => 4 > > ; extensions.conf > [globals] > CONSOLE=Zap/1 > TRUNK=Zap/4 > TRUNKMSD=1 > > [trunklocal] > exten => _9NXXXXXX,1,PlayBack(vm-dialout) > exten => _9NXXXXXX,2,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > exten => _9NXXXXXX,3,Congestion > > [incoming] > exten => s,1,Answer > exten => s,2,DigitTimeout,5 > exten => s,3,ResponseTimeout,10 > exten => s,4,Playback(tt-weasels) > ; > [local] > ignorepat => 9 > include => trunklocal > ; > [default] > include=incoming > include=localIn the zapata.conf definitions for the two channels, do something like this: immediate=no signalling => fxo_ks channel => 1 context=incoming ; <==== where to send incoming calls within extensions.conf signalling => fxs_ks channel => 4 Add the above statement, and then your dialplan context 'incoming' will be executed when receiving a call. It might also help the learning process if you reorganize those two channels so that you can see which parameters are being applied to which channels. Something like this says exactly the same thing as above: [channels] language=en busydetect=yes busycount=6 cidsignalling=bell cidstart=ring callerid=asreceived ; this section is for the fxs port (telephone instrument) context=fxs-line rxwink=300 usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes threewaycalling=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes rxgain=0.0 txgain=0.0 callgroup=1 pickupgroup=1 immediate=no signalling => fxo_ks channel => 1 ; this section is for the fxo port (pstn line) context=incoming ; <==== where to send incoming calls within extensions.conf rxwink=300 usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes threewaycalling=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes rxgain=0.0 txgain=0.0 callgroup=1 pickupgroup=1 immediate=no signalling => fxs_ks channel => 4 Now if you look over the parameters within each section, you've got to ask yourself some questions. - Why would you have these parameters on a fxs port (telephone)? context=fxs-line rxwink=300 usecallerid=yes cidsignalling=bell hidecallerid=no callwaiting=yes usecallingpres=yes threewaycalling=yes cancallforward=yes callreturn=yes The above parameters are associated with fxo ports (not fxs ports). Remove them. - Why do you have: rxwink=300 in either of the two contexts above? If you're interfacing to a US pstn line, I doubt you really need that parameter in either channel. - In the Channel => 4 section, you will probably want: echotraining=yes or echotraining=800 to improve the echo canceller operation. 800 works best for my system. - You'll probably want to add: busydetect=yes busycount=6 in the top level [channels] section to help avoid voices falsely causing dropped pstn calls. (Some voices might be interpreted as dtmf or other tones causing * to drop the call.) - in the extensions.conf dialplan entry: [incoming] exten => s,1,Answer exten => s,2,DigitTimeout,5 exten => s,3,ResponseTimeout,10 exten => s,4,Playback(tt-weasels) you'll probably want to change that last statement to use 'Background' to play the audio instead of 'Playback'. See the 'show application background' for details. (Essentially, background allows you dialplan entry to listen for users to press a key, while the playback ignores user key presses. Rich