Asterisk 1.6 / Sipgate / Eingehende Anrufe landen auf Mailbox

mebsonvaldezz

Neuer User
Mitglied seit
10 Jan 2007
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

eingehende Anrufe landen bei mir immer auf der Voicemail. System meldet, dass alles besetzt ist. Am System hängt ein Cisco 7941 mit der Line 6000, dessen Status ich in der GUI auch ablesen kann, wenn Hörer abgenommen / aufgelegt wird.

Wo kann ich ansetzen?

Danke und Gruß

Martin

Code:
Connected to Asterisk 1.6.2.20 currently running on localhost (pid = 25873)
Verbosity is at least 3
  == Using SIP RTP CoS mark 5
    -- Executing [49xxxxxxxxxxxxxx@DID_trunk_1:1] Goto("SIP/trunk_1-00000002", "default,6000,1") in new stack
    -- Goto (default,6000,1)
    -- Executing [6000@default:1] Macro("SIP/trunk_1-00000002", "stdexten,6000,SIP/6000") in new stack
    -- Executing [s@macro-stdexten:1] Set("SIP/trunk_1-00000002", "__DYNAMIC_FEATURES=") in new stack
    -- Executing [s@macro-stdexten:2] Set("SIP/trunk_1-00000002", "ORIG_ARG1=6000") in new stack
    -- Executing [s@macro-stdexten:3] GotoIf("SIP/trunk_1-00000002", "0?6:4") in new stack
    -- Goto (macro-stdexten,s,4)
    -- Executing [s@macro-stdexten:4] Dial("SIP/trunk_1-00000002", "SIP/6000,20,") in new stack
  == Using SIP RTP CoS mark 5
[Nov  2 13:47:07] WARNING[26664]: app_dial.c:1780 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-stdexten:5] Goto("SIP/trunk_1-00000002", "s-CHANUNAVAIL,1") in new stack
    -- Goto (macro-stdexten,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-stdexten:1] Goto("SIP/trunk_1-00000002", "s-NOANSWER,1") in new stack
    -- Goto (macro-stdexten,s-NOANSWER,1)
    -- Executing [s-NOANSWER@macro-stdexten:1] VoiceMail("SIP/trunk_1-00000002", "6000,u") in new stack
    -- <SIP/trunk_1-00000002> Playing 'vm-theperson.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'digits/6.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'digits/0.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'digits/0.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'digits/0.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'vm-isunavail.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'vm-intro.ulaw' (language 'en')
    -- <SIP/trunk_1-00000002> Playing 'beep.ulaw' (language 'en')
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/default/6000/tmp/Plir33 format: wav49, 0x89fb3d8
    -- x=1, open writing:  /var/spool/asterisk/voicemail/default/6000/tmp/Plir33 format: gsm, 0x8a00a20
    -- x=2, open writing:  /var/spool/asterisk/voicemail/default/6000/tmp/Plir33 format: wav, 0x89c3b68
    -- User hung up
  == Spawn extension (macro-stdexten, s-NOANSWER, 1) exited non-zero on 'SIP/trunk_1-00000002' in macro 'stdexten'
  == Spawn extension (default, 6000, 1) exited non-zero on 'SIP/trunk_1-00000002'
 
Ist es. Allerdings habe ich eben herausgefunden, dass es an der Extension liegt. Der Pattern wird nicht erkannt. Verwende ich direkt die Extension klingelt das Telefon .. hmmmm :gruebel:

Funktioniert

Code:
exten => 6000,1,Dial(SCCP/6000)

Funktioniert nicht
Code:
exten => _6XXX,1,Dial(SCCP/${EXTEN})
 
Oben reden wir von SIP/6000, was aus einem Macro heraus gewählt wird. Jetzt kommst Du mit SCCP daher. :gruebel:

Laut Deinem CLI Auszug von oben hat das Macro funktioniert, aber halt mit SIP. Warum baust Du dann jetzt das ganze Macro um, statt nur SIP durch SCCP zu ersetzen? :gruebel:

Schau Dir bitte die Dokumentation zu Macros an, dort wirst Du die Ursache finden, warum ${EXTEN} nicht funktioniert. Oder analysiere die CLI Ausgabe, dort wirst Du beim Dial auch etwas feststellen, was so nicht sein soll.

Wenn Du das hast, mach Dich gleich mal mit den Alternativen zu Macros vertraut.
 
Oben reden wir von SIP/6000, was aus einem Macro heraus gewählt wird. Jetzt kommst Du mit SCCP daher. :gruebel:

Ich nähere mich der Funktionsweise an, ist meine erste Asterisk. Mittlerweile bin ich intern auf SCCP.

Laut Deinem CLI Auszug von oben hat das Macro funktioniert, aber halt mit SIP. Warum baust Du dann jetzt das ganze Macro um, statt nur SIP durch SCCP zu ersetzen? :gruebel:

Hatte ich vor, das Macro umzubauen? Hab ich mittlerweile komplett entfernt, wollte von Scratch auf starten um das System und die Funktionsweise zu verstehen. Bin mittlerweile auch schon weiter ;)

Schau Dir bitte die Dokumentation zu Macros an, dort wirst Du die Ursache finden, warum ${EXTEN} nicht funktioniert. Oder analysiere die CLI Ausgabe, dort wirst Du beim Dial auch etwas feststellen, was so nicht sein soll.

Wenn Du das hast, mach Dich gleich mal mit den Alternativen zu Macros vertraut.

Macros setze ich momentan überhaupt nicht mehr ein. Wie gesagt, das rührt alles von der AsteriskNOW Standardinstallation. Ich hab ne Weile gebraucht, bis ich mich da durchgehangelt hab.
Was ich nach wie vor nicht verstehe, und auch der Doku so nicht entnehmen konnte bzw. keine Ursache finden konnte ist, warum mein Pattern nach wie vor nicht funktioniert. Ich bin in keinem Macro, o. ä., sondern einfach in meinem Default Context.

Code:
exten => _6XXX,1,Dial(SCCP/${EXTEN})

Aus dem Asterisk Buch (http://www.das-asterisk-buch.de):

In der Systemvariable ${EXTEN} wird von Asterisk automatisch die gewählte Rufnummer (also die Extension) gespeichert. Mann kann also in der extensions.conf anstatt

Code:
exten => 2000,1,Dial(SIP/2000)

auch einfach

Code:
exten => 2000,1,Dial(SIP/${EXTEN})

schreiben. Bei einer Zeile ist das natürlich noch wenig sinnvoll, aber wenn man diese Funktionalität mit Pattern Matching (siehe Abschnitt 3.3.1, „Syntax“) kombiniert, dann kann man sehr viel Zeit und Aufwand sparen und bekommt zusätzlich auch noch eine viel übersichtlichere Konfiguration.
Um somit alle SIP-Telefone mit den Durchwahlen 2000 bis 2999 in der extensions.conf anwählbar zu machen, reicht folgende Zeile:

Code:
exten => _2XXX,1,Dial(SIP/${EXTEN})
 
Zuletzt bearbeitet:
Dann poste doch bitte mal die notwendigen Teile der extensions.conf und einen CLI Auszug mit verbose>=3.
 
Ich bin so ein Rindvieh.

Ich hab' völlig verdrängt, dass das Macro macro-stdexten immer vom System aufgerufen wird, habs aber noch gelesen :D
Selbst wenn ich das Macro aus der extensions.conf entferne, wird es bei der nächsten Änderung via GUI wieder automatisch eingefügt. Jetzt sollte ich dem Macro natürlich beibringen, die Extension via SCCP versuchen zu erreichen, nicht nur via SIP oder IAX.
Wie kann ich den SCCP Channel entsprechend setzen? Meine aktuelle Config wie folgt.

extensions.conf

Code:
[default]

; *** Nebenstellen ***
exten => _6XXX,1,Dial(SCCP/${EXTEN})

[macro-stdexten]
exten = s,1,Set(__DYNAMIC_FEATURES=${FEATURES})
exten = s,2,Set(ORIG_ARG1=${ARG1})
exten = s,3,GotoIf($["${FOLLOWME_${ARG1}}" = "1"]?6:4)
exten = s,4,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
[...]

CLI Log

Code:
 == SEPXXXXXXXXXXXX: Entered Number: 6000 is a Full Match
    -- SEPXXXXXXXXXXXX: (sccp_pbx_softswitch) New call on line 6053
    -- SEPXXXXXXXXXXXX: send callInfo of callid 120
    -- Executing [6000@default:1] Macro("SCCP/6053-00000078", "stdexten,6000,SIP/6000&IAX2/6000") in new stack
    -- Executing [s@macro-stdexten:1] Set("SCCP/6053-00000078", "__DYNAMIC_FEATURES=") in new stack
    -- Executing [s@macro-stdexten:2] Set("SCCP/6053-00000078", "ORIG_ARG1=6000") in new stack
    -- Executing [s@macro-stdexten:3] GotoIf("SCCP/6053-00000078", "0?6:4") in new stack
    -- Goto (macro-stdexten,s,4)
    -- Executing [s@macro-stdexten:4] Dial("SCCP/6053-00000078", "SIP/6000&IAX2/6000,20,") in new stack
  == Using SIP RTP CoS mark 5
[Nov  8 13:07:36] WARNING[25946]: app_dial.c:1780 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
[Nov  8 13:07:36] WARNING[25946]: app_dial.c:1780 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (2:0/0/2)
    -- Executing [s@macro-stdexten:5] Goto("SCCP/6053-00000078", "s-CHANUNAVAIL,1") in new stack
    -- Goto (macro-stdexten,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-stdexten:1] Goto("SCCP/6053-00000078", "s-NOANSWER,1") in new stack
    -- Goto (macro-stdexten,s-NOANSWER,1)
    -- Executing [s-NOANSWER@macro-stdexten:1] VoiceMail("SCCP/6053-00000078", "6000,u") in new stack
    -- SCCP: Outgoing call has been answered SCCP/6053-00000078 on 6053@SEPXXXXXXXXXXXX-00000078
    -- SEPXXXXXXXXXXXX: send callInfo of callid 120
    -- SEPXXXXXXXXXXXX: send callInfo of callid 120
  == Using SCCP RTP TOS bits 184
  == Using SCCP RTP CoS mark 6
    -- SEPXXXXXXXXXXXX: send callInfo of callid 120
    -- SEPXXXXXXXXXXXX: send callInfo of callid 120
    -- <SCCP/6053-00000078> Playing 'vm-theperson.ulaw' (language 'en')

Und das hier wird das Problem sein ..

-- Executing [6000@default:1] Macro("SCCP/6053-00000078", "stdexten,6000,SIP/6000&IAX2/6000") in new stack
 
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.