[Asterisk-Users] TDM400P with FXO/FXS hangup problem

Fabrice Tereszkiewicz fabrice.tz at eikonex.net
Thu Oct 7 08:57:49 MST 2004


Hello,

I've got an Asterisk server with a TDM400P with 2 FXO modules and 2 FXS 
modules. This server is connected to 2 PSTN lines and 2 analog phones. 
In my Zaptel configuration, I've defined 2 groups : one for the 2 FXO's 
and one for the 2 FXS. The asterisk server is just used to add a little 
IVR and Voicemail service.

Eveything works fine, but sometimes the conversation is interrupted. I 
didn't find any usuable log, I just see that a Zap channel hang up in 
the CLI.

Have you any ideas ? Here are my conf files :

/etc/zaptel.conf :
----------------------------------
fxoks=1-2
fxsks=3-4
loadzone=fr
defaultzone=fr
-------------------------------------

/etc/asterisk/zapata.conf :
------------------------------------
[channels]

busydetect=yes
callprogress=yes
language=fr

group=1
context=sortant
signalling=fxo_ks
channel => 1,2

group=2
context=entrant
signalling=fxs_ks
channel => 3,4
--------------------------------

/etc/asterisk/extensions.conf :
-----------------------------------
[sortant]
exten => _0XXXXXXXXX,1,Dial(Zap/g2/${EXTEN})

[entrant]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,DigitTimeout,2
exten => s,4,ResponseTimeout,3
; menu d'accueil et de premier choix de langue
exten => s,5,Background(fr_bienvenue)
exten => s,6,Background(fr_continuer)
exten => s,7,Background(en_continuer)

;les choix de langue :

; 1 -> français :
exten => 1,1,Goto(francais,s,1)

; 2 -> anglais :
exten => 2,1,Goto(anglais,s,1)

; timeout, retour au menu de langue :
exten => t,1,Goto(entrant,s,5)
; choix invalide :
exten => i,1,Playback(fr_invalide)
exten => i,2,Goto(entrant,s,6)

[francais]

exten => s,1,DigitTimeout,2
exten => s,2,ResponseTimeout,3
exten => s,3,Background(fr_serv_com)
exten => s,4,Background(fr_serv_tech)
exten => s,5,Background(fr_serv_adm)
exten => s,6,Background(fr_serv_ope)

; 1 -> contact commercial
exten => 1,1,Dial(Zap/g1,20,A(a_com))
; répondeur si pas de réponse :
exten => 1,2,Background(fr_dsl)
exten => 1,3,Background(fr_messagerie)
exten => 1,4,Background(fr_coord)
exten => 1,5,Background(fr_contact)
exten => 1,6,VoiceMail(s1)
; répondeur si occupé
exten => 1,102,Background(fr_dsl)
exten => 1,103,Background(fr_messagerie)
exten => 1,104,Background(fr_coord)
exten => 1,105,Background(fr_contact)
exten => 1,106,VoiceMail(s1)

; 2 -> contact technique
exten => 2,1,Dial(Zap/g1,20,A(a_tech))
; répondeur si pas de réponse :
exten => 2,2,Background(fr_dsl)
exten => 2,3,Background(fr_messagerie)
exten => 2,4,Background(fr_coord)
exten => 2,5,Background(fr_contact)
exten => 2,6,VoiceMail(s2)
; répondeur si occupé
exten => 2,102,Background(fr_dsl)
exten => 2,103,Background(fr_messagerie)
exten => 2,104,Background(fr_coord)
exten => 2,105,Background(fr_contact)
exten => 2,106,VoiceMail(s2)


; 3 -> contact administratif
exten => 3,1,Dial(Zap/g1,20,A(a_adm))
; répondeur si pas de réponse :
exten => 3,2,Background(fr_dsl)
exten => 3,3,Background(fr_messagerie)
exten => 3,4,Background(fr_coord)
exten => 3,5,Background(fr_contact)
exten => 3,6,VoiceMail(s3)
; répondeur si occupé
; répondeur si occupé
exten => 3,102,Background(fr_dsl)
exten => 3,103,Background(fr_messagerie)
exten => 3,104,Background(fr_coord)
exten => 3,105,Background(fr_contact)
exten => 3,106,VoiceMail(s3)


; 0 -> opérateur
exten => 0,1,Dial(Zap/g1,20,A(a_ope))
; répondeur si pas de réponse :
exten => 0,2,Background(fr_dsl)
exten => 0,3,Background(fr_messagerie)
exten => 0,4,Background(fr_coord)
exten => 0,5,Background(fr_contact)
exten => 0,6,VoiceMail(s4)
; répondeur si occupé
exten => 0,102,Background(fr_dsl)
exten => 0,103,Background(fr_messagerie)
exten => 0,104,Background(fr_coord)
exten => 0,105,Background(fr_contact)
exten => 0,106,VoiceMail(s4)


; timeout, retour au menu du contexte :
exten => t,1,Goto(francais,s,3)

; choix invalide :
exten => i,1,Playback(fr_invalide)
exten => i,2,Goto(francais,s,3)

[anglais]

exten => s,1,DigitTimeout,2
exten => s,2,ResponseTimeout,3
exten => s,3,Background(en_serv_com)
exten => s,4,Background(en_serv_tech)
exten => s,5,Background(en_serv_adm)
exten => s,6,Background(en_serv_ope)

; 1 -> contact commercial
exten => 1,1,Dial(Zap/g1,20,A(a_com))
; répondeur si pas de réponse :
exten => 1,2,Background(en_dsl)
exten => 1,3,Background(en_messagerie)
exten => 1,4,Background(en_coord)
exten => 1,5,Background(en_contact)
exten => 1,6,VoiceMail(s1)
; répondeur si occupé
exten => 1,102,Background(en_dsl)
exten => 1,103,Background(en_messagerie)
exten => 1,104,Background(en_coord)
exten => 1,105,Background(en_contact)
exten => 1,106,VoiceMail(s1)

; 2 -> contact technique
exten => 2,1,Dial(Zap/g1,20,A(a_tech))
; répondeur si pas de réponse :
exten => 2,2,Background(en_dsl)
exten => 2,3,Background(en_messagerie)
exten => 2,4,Background(en_coord)
exten => 2,5,Background(en_contact)
exten => 2,6,VoiceMail(s2)
; répondeur si occupé
exten => 2,102,Background(en_dsl)
exten => 2,103,Background(en_messagerie)
exten => 2,104,Background(en_coord)
exten => 2,105,Background(en_contact)
exten => 2,106,VoiceMail(s2)


; 3 -> contact administratif
exten => 3,1,Dial(Zap/g1,20,A(a_adm))
; répondeur si pas de réponse :
exten => 3,2,Background(en_dsl)
exten => 3,3,Background(en_messagerie)
exten => 3,4,Background(en_coord)
exten => 3,5,Background(en_contact)
exten => 3,6,VoiceMail(s3)
; répondeur si occupé
exten => 3,102,Background(en_dsl)
exten => 3,103,Background(en_messagerie)
exten => 3,104,Background(en_coord)
exten => 3,105,Background(en_contact)
exten => 3,106,VoiceMail(s3)


; 0 -> opérateur
exten => 0,1,Dial(Zap/g1,20,A(a_ope))
; répondeur si pas de réponse :
exten => 0,2,Background(en_dsl)
exten => 0,3,Background(en_messagerie)
exten => 0,4,Background(en_coord)
exten => 0,5,Background(en_contact)
exten => 0,6,VoiceMail(s4)
; répondeur si occupé
exten => 0,102,Background(en_dsl)
exten => 0,103,Background(en_messagerie)
exten => 0,104,Background(en_coord)
exten => 0,105,Background(en_contact)
exten => 0,106,VoiceMail(s4)


; timeout, retour au menu du contexte :
exten => t,1,Goto(anglais,s,3)

; choix invalide :
exten => i,1,Playback(en_invalide)
exten => i,2,Goto(anglais,s,3)
----------------------------------------------------




More information about the asterisk-users mailing list