Asterisk springt in den falschen Kontext

ploieel

Aktives Mitglied
Mitglied seit
13 Mrz 2005
Beiträge
1,877
Punkte für Reaktionen
24
Punkte
38
Hallo,
ich mache hier etwas falsch.
Ich habe mir einen iax-Account bei monduno eingerichtet. Nun springt beim wählen der Asterisk über den default-context in meinen sipdiscount-context.

Ich poste hier mal einige der relevanten Einstellungen und hoffe, dass mir jemand einen Tipp geben kann.

iax.conf:

Code:
register => 101xxxx:[email protected]
...
[monduno]
type=friend
username=101xxxx
host=iax.monduno.com
secret=yyyyyy
context=from-monduno

extensions.conf:

Code:
[from-monduno]
exten => 101xxxx,1,Dial(ZAP/g1/25,45,r)
exten => 101xxxx,2,Hangup()

[monduno-ausgehend]
exten => _*0.,1,Dial(IAX2/monduno/${EXTEN:2})
exten => _*0.,2,Hangup()
...
[ausgehend]
include => external-ISDN_ausgehend
include => external-voipbuster_ausgehend
include => external-GMX_ausgehend
include => external-webde_ausgehend
include => external-sipdiscount_ausgehend
include => dialout
include => dialout_now
include => 40
include => monduno-ausgehend

[default]
include => lokal
include => echotest
include => mailbox
include => mailbox_own
include => zeitansage
include => ausgehend
include => external-sipdiscount_eingehend
include => from-monduno


beim wählen zeigt putty

Code:
fli4l 2.1.9 # asterisk -r
Asterisk 1.0.7-BRIstuffed-0.2.0-RC8, Copyright (C) 1999-2004 Digium.
Written by Mark Spencer <[email protected]>
=========================================================================
Connected to Asterisk 1.0.7-BRIstuffed-0.2.0-RC8 currently running on fli4l (pi                                                                                                                                                                              = 6096)
fli4l*CLI> set verbose 5
Verbosity was 0 and is now 5
  == Primary D-Channel on span 1 up for TEI 64
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2                                                                                                                                                                              span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Executing SetCallerID("Zap/2-1", "50534") in new stack
    -- Executing Dial("Zap/2-1", "SIP/*02500@sipdiscount|60|tr") in new stack
    -- Called *02500@sipdiscount
    -- SIP/sipdiscount-64a2 is making progress passing it to Zap/2-1
    -- Channel 0/2, span 1 got hangup
  == Spawn extension (default, *02500, 2) exited non-zero on 'Zap/2-1'
    -- Executing Hangup("Zap/2-1", "") in new stack
  == Spawn extension (default, h, 1) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'
  == Primary D-Channel on span 1 down for TEI 64
fli4l*CLI>

wobei mir das Executing SetCallerID schon einmal spanisch vorkommt... ;-)
Herzlichen Dank schon jetzt für die Unterstützung. :)
 
dazu brauchen wir erstmal Deine gesamte extensions.conf - nicht nur ein paar Schnipsel daraus.
 
Ich denke, es liegt an meinem context dialout-now, da sind die patterns nicht ganz passend.

mal die ganze extensions.conf:

Code:
[general]
static=yes
writeprotect=no

[lokal]
exten => 25,1,NoCDR()
exten => 25,2,Dial(ZAP/g1/25,20,Tt)

[40]
; exten => 40.,1,NoCDR()
exten => 40.,1,Dial,IAX2/25|55|Ttr
exten => 40.,2,Hangup

[external-ISDN_ausgehend]
exten => _XXX.,1,Answer
exten => _XXX.,2,Dial(CAPI/25:${EXTEN},,Ttr)
exten => _XXX.,3,Congestion
exten => _XXX.,4,Hangup

[external-ISDN_eingehend]
exten => 3312,1,Dial(ZAP/g1/25,45,r)
exten => 3312,2,Goto,r-${DIALSTATUS}|1
exten => r-BUSY,1,voicemail,b30
exten => r-BUSY,2,Hangup
exten => r-NOANSWER,1,voicemail,u30
exten => r-NOANSWER,2,Hangup

exten => 50530/0162xxxxxxx,1,System(cp /etc/asterisk/call/callfile /var/spool/asterisk/outgoing/)
exten => 50530/0162xxxxxxx,2,Hangup

[dialout]
exten => s,1,Answer
exten => s,2,Wait(10)
exten => s,3,DISA,no-password|dialout_now
exten => s,4, Hangup
exten => s,102,Busy
exten => h,1,Hangup


[dialout_now]
exten => _.,1,SetCallerID(50534)
; exten => _.,2,Dial(Capi/25:${EXTEN},,Tt)
; exten => _.,2,Dial(SIP/${EXTEN}@gmx,60,tr)
exten => _.,2,Dial(SIP/${EXTEN}@sipdiscount,60,tr)
exten => _.,3,Congestion
exten => _.,102,Busy
exten => h,1,Hangup

[external-voipbuster_ausgehend]
exten => _*2.,1,Dial(SIP/0049${EXTEN:2}@voipbuster,60,Ttr)
exten => _*2.,2,Congestion
exten => _*2.,3,Busy
exten => _*2.,4,Hangup

[external-sipdiscount_ausgehend]
exten => _*1.,1,Dial(SIP/0049${EXTEN:2}@sipdiscount,60,Ttr)
exten => _*1.,2,Congestion
exten => _*1.,3,Busy
exten => _*1.,4,Hangup

[external-sipdiscount_eingehend]
exten => 0049696xxxxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 0049696xxxxxxx,2,Hangup()

[external-GMX_ausgehend]
exten => _*7.,1,Dial(SIP/${EXTEN:2}@gmx,60,tTgH)
exten => _*7.,2,Playback(invalid)
exten => _*7.,3,Congestion
exten => _*7.,4,Busy
exten => _*7.,5,Hangup
;
; [external-GMX_eingehend]
; exten => yyyyyyyyyy,1,Dial(ZAP/g1/25,45,r)
; exten => 037xxxxxxxx,1,Dial(ZAP/g1/25,45,r)
; exten => 037xxxxxxxx,2,Hangup()
;
[external-webde_ausgehend]
exten => _*5.,1,Dial(SIP/${EXTEN:2}@webde,60,tTgH)
exten => _*5.,2,Congestion
exten => _*5.,3,Busy
exten => _*5.,4,Hangup
;
[external-webde_eingehend]
exten => 02222xxxxxxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 02222xxxxxxxxx,2,Goto,r-${DIALSTATUS}|1
exten => r-BUSY,1,voicemail,b30
exten => r-BUSY,2,Hangup
exten => r-NOANSWER,1,voicemail,u30
exten => r-NOANSWER,2,Hangup
; exten => 02222xxxxxxxxx,2,Hangup()

[echotest]
exten => 81,1,answer
exten => 81,2,wait,1
exten => 81,3,playback,demo-echotest
exten => 81,4,echo
exten => 81,5,playback,demo-echodone
exten => 81,6,hangup

[mailbox_own]
exten => 88,1,answer
exten => 88,2,wait,1
exten => 88,3,voicemailmain,s${CALLERIDNUM}
exten => 88,4,hangup

[mailbox]
exten => 80,1,answer
exten => 80,2,wait,1
exten => 80,3,voicemailmain
exten => 80,4,hangup

[zeitansage]

exten => 99,1,SetVar(LANGUAGE()=de)
exten => 99,2,SetVar(MEZ=$[${EPOCH} + 3600])
exten => 99,3,Answer
exten => 99,4,Wait(1)
exten => 99,5,SayUnixTime(${MEZ}||k)
exten => 99,6,SayUnixTime(${MEZ}||M)
exten => 99,7,SayUnixTime(${MEZ}||S)
exten => 99,8,Wait(1)
exten => 99,9,SayUnixTime(${MEZ}||a)
exten => 99,10,SayUnixTime(${MEZ}||d)
exten => 99,11,SayUnixTime(${MEZ}||b) ; m
exten => 99,12,SayUnixTime(${MEZ}||Y)
exten => 99,13,Wait(1)
exten => 99,14,Playback(beep)
exten => 99,15,Goto(1)

[from-monduno]
exten => 101xxxx,1,Dial(ZAP/g1/25,45,r)
exten => 101xxxx,2,Hangup()

[monduno-ausgehend]
exten => _*0.,1,Dial(IAX2/monduno/${EXTEN:2})
exten => _*0.,2,Hangup()

[ausgehend]
include => external-ISDN_ausgehend
include => external-voipbuster_ausgehend
include => external-GMX_ausgehend
include => external-webde_ausgehend
include => external-sipdiscount_ausgehend
include => dialout
include => dialout_now
include => 40
include => monduno-ausgehend

[default]
include => lokal
include => echotest
include => mailbox
include => mailbox_own
include => zeitansage
include => ausgehend
include => external-sipdiscount_eingehend
include => from-monduno

Ist immer noch nicht alles perfekt, aber das meiste funktioniert so... ;-)

Danke für die Hinweise.
 
Ersetze mal in [dialout] das Pattern _. durch _X. dann sollte es funktionieren.
 
Hallo,
ich denke, Du meintest [dialout-now], nicht [dialout], das werde ich jetzt machen und testen. Ich melde mich dann nochmal.
Danke. :)
 
JA, haut hin. Konnte bei monduno mit *0 2500 einen Echo-Test aufrufen...

Danke, betateilchen.

Jetzt NUR noch von Arbeit aus mittels IAX nachhause telefonieren... :)
Wird morgen getestet und steht in einem anderen Thread.

EDIT:
Habe eben noch den monduno-account bei portunity für ENUM eingetragen, nun sollte es doch funktionieren. ;-)

EDIT 2: Es kommt folgende Durchsage, wenn ich meine lokale Festnetznummer wähle:

"Führe ENUM-Abfrage durch; ENUM-Abfrage erfolgreich. Zur Zeit kan niemand Ihren Anruf entgegennehmen."
Klar ist mir, dass ich den Anruf nicht entgegen nehmen kann, wenn ich eben zur gleichen Zeit von dieser Nummer aus anrufe.
Kann man die korrekte Funktion irgendwie anderweitig testen?
 
Zuletzt bearbeitet:
Hallo betateilchen und alle,
ich habe doch gestern erfolgreich das eine Änderung an meiner extensions.conf druchgeführt. Nun schlägt aber etwas anderes fehl:

Ich kann von außen per ISDN nicht mehr angerufen werden. Es klingelt einmal, dann ist Stille.
Die Ursache dafür ist, dass der Asterisk im context [external-ISDN-eingehend] mit den Einträgen, die mit dem pattern r beginnen, nicht zurechtkommt.

Ich füge hier den relevanten Teil nochmals ein.

Code:
[external-ISDN_eingehend]
exten => 3312,1,Dial(ZAP/g1/25,45,r)
exten => 3312,2,Goto,r-${DIALSTATUS}|1
exten => r-BUSY,1,voicemail,b30
exten => r-BUSY,2,Hangup
exten => r-NOANSWER,1,voicemail,u30
exten => r-NOANSWER,2,Hangup

Wie ist es zu ändern, dass die Voicemailbox trotzdem angesprungen werden kann?

Wie gesagt, BEVOR ich das pattern in dialout-now geändert habe, hatte der Anruf vom ISDN funktioniert, danach dann nicht mehr.

Vielen Dank für die Ratschläge.
 
Du hast überhaupt kein Pattern in diesem Kontext :!:

Und Deine Fehlerursache liegt irgendwo anders - Asterisk kann mit dem r-${DIALSTATUS} sehr gut umgehen.

Poste doch mal die Ausgabe auf der CLI bei einem eingehenden Anruf.
 
Code:
fli4l 2.1.9 # asterisk -r
Asterisk 1.0.7-BRIstuffed-0.2.0-RC8, Copyright (C) 1999-2004 Digium.
Written by Mark Spencer <[email protected]>
=========================================================================
Connected to Asterisk 1.0.7-BRIstuffed-0.2.0-RC8 currently running on fli4l (pid = 6096)
Verbosity is at least 5
    -- creating pipe for PLCI=0x101 msn = *
    -- Executing Dial("CAPI[contr1/3312]/6", "ZAP/g1/25|45|r") in new stack
    -- Called g1/25
    -- started pbx on channel (callgroup=0)!
    -- Channel 0/1, span 1 got hangup
    -- Hungup 'Zap/1-1'
  == No one is available to answer at this time
    -- CAPI Hangingup
    -- removed pipe for PLCI = 0x101
fli4l*CLI>

Danke für die Hilfe.
 
Zuletzt bearbeitet:
Code:
started pbx on channel (callgroup=0)!

Da liegt Dein Problem ... es ruft nicht die Extension sondern die Callgroup - und deshalb wird nach dem Dial() überhaupt nicht weitergemacht.

Lösche die 25 aus der Callgroup, und es wird funktionieren, wie es soll.
 
Sorry, das mit der callgroup verstehe ich nicht. Wo ist da etwas zu löschen?

Mein Problem ist aber trotzdem gelöst:
Hier muss ein Hardwarefehler vorgelegen haben. Ich habe die Stromversorgung meiner ISDN-Anlage abgetrennt und nach einigen Sekunden wieder hergestellt. Jetzt geht alles wieder.

Entschuldigung für die ganze Aufregung. :)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.