Bonjour,
Je souhaite utiliser mon Asterisk comme passerelle, que j'appelle avec mon GSM et de la je peux rappeler ailleurs.
J'ai cherché sur Google et j'ai trouvé ceci
Code:
[Recall]
exten => s,1,SetLanguage(fr)
exten => s,2,SIPDtmfMode(inband)
exten => s,3,DigitTimeout(4)
exten => s,4,ResponseTimeout(5)
exten => s,5,Read(Teltotel,beep,10)
exten => s,6,SayDigits(${Teltotel:0:1})
exten => s,7,SayDigits(${Teltotel:1:1})
exten => s,8,SayNumber(${Teltotel:2:2})
exten => s,9,SayNumber(${Teltotel:4:2})
exten => s,10,SayNumber(${Teltotel:6:2})
exten => s,11,SayNumber(${Teltotel:8:2})
exten => s,12,WaitExten
exten => #,1,GoTo(Recall,s,1)
exten => i,1,GoTo(Recall,s,1)
exten => t,1,GoTo(Recall,s,1)
exten => *,1,Dial(SIP/${Teltotel}@wengo-out)
exten => *,2,Hangup()
Il se plaignait du SetLanguage, je l'ai supprimé.
Pour le setdtmf, j'ai testé les trois valeurs mais aucune n'a rien changé.
Je me suis dit que c'était un soucis de reconnaissance du dtmf alors j'ai testé ceci (trouvé via Google)
Code:
[lecture]
exten => s,1(start),Gotoif($[ "${LEN(${extensao})}" < "3"]?collect:pstn)
exten => s,n,NoOp(Executing - ${extensao} - )
exten => s,1(collect),Read(digito,,10)
exten => s,n,SayDigits(${digito})
exten => s,n,Set(extensao=${extensao}${digito})
exten => s,n,GoTo(start)
exten => s,n(pstn),GoTo(from-pstn,s,1)
exten => h,1,hangup()
Et la le système me dit bien les touches que j'ai enfoncée.
J'essaye donc de reprendre la partie lecture de ce bout de code pour l'implanter dans l'autre mes sans succès.
Mon but final étant de faire
- J'appelle avec mon GSM vers Asterisk.
- Je tape une extension pour arriver à la gestion du transfert
- Il vérifie que c'est mon numéro le caller id
- Je tape un numéro
- Il me le confirme
- Je valide
- Il appelle
Cela m'a l'air assez basique, mais je ne trouve pas :(
Je viens aussi de tenter de lire chiffre par chiffre
Code:
[Recall]
exten = accueil,1,Answer()
exten = accueil,n,Playback(not-as-important)
exten = accueil,n(debut),Gotoif($[ "${LEN(${extencomp})}" < "10"]?recup:int)
exten = accueil,n(recup),Read(chiffre,,1)
exten = accueil,n,Set(extencomp=${extencomp}${chiffre})
exten = accueil,n,GoTo(debut)
exten = accueil,n,Dial(SIP/${extencomp}@cust1000-sortant)
Il lit le premier chiffre, lit le deuxième (le concatène au premier) puis il part trop tôt :
Code:
-- Executing [accueil@Recall:3] GotoIf("SIP/didww.uk2-00000003", "1?recup:int") in new stack
-- Goto (Recall,accueil,4)
-- Executing [accueil@Recall:4] Read("SIP/didww.uk2-00000003", "chiffre,,1") in new stack
-- Accepting a maximum of 1 digits.
-- User entered '8'
-- Executing [accueil@Recall:5] Set("SIP/didww.uk2-00000003", "extencomp=8") in new stack
-- Executing [accueil@Recall:6] Goto("SIP/didww.uk2-00000003", "debut") in new stack
-- Goto (Recall,accueil,3)
-- Executing [accueil@Recall:3] GotoIf("SIP/didww.uk2-00000003", "1?recup:int") in new stack
-- Goto (Recall,accueil,4)
-- Executing [accueil@Recall:4] Read("SIP/didww.uk2-00000003", "chiffre,,1") in new stack
-- Accepting a maximum of 1 digits.
-- User entered '1'
-- Executing [accueil@Recall:5] Set("SIP/didww.uk2-00000003", "extencomp=81") in new stack
-- Executing [accueil@Recall:6] Goto("SIP/didww.uk2-00000003", "debut") in new stack
-- Goto (Recall,accueil,3)
-- Executing [accueil@Recall:3] GotoIf("SIP/didww.uk2-00000003", "0?recup:int") in new stack
[Jan 17 21:47:02] NOTICE[29001]: pbx.c:3739 pbx_extension_helper: No such label 'int' in extension 'accueil' in context 'Recall'
[Jan 17 21:47:02] WARNING[29001]: pbx.c:9602 pbx_parseable_goto: Priority 'int' must be a number > 0, or valid label
== Spawn extension (Recall, accueil, 3) exited non-zero on 'SIP/didww.uk2-00000003'
Je précise que je tourne avec Asterisk 1.6.2.x (x = 7 sur Ubuntu et x = 1 sur Debian)
Merci de votre aide.
cEd