[Gelöst] Asterisk hinter Fritzbox - Outbound Routing Problem

alex-kehl

Neuer User
Mitglied seit
14 Jan 2009
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hallo Asterisk-Freunde,

zwischenzeitlich konnte ich erfolgreich einen Asterisk (FreePBX 13.0.190.19) auf der VM hinter meiner FritzBox 6490 installieren.

Eingehende Gespräche werden an der richtigen Nebenstelle signalisiert.
Auch die ausgehenden Telefonate können geführt werden.

Nun zum Problem:
Wie man den angehängten Bilder entnehmen kann, habe ich 2 Outboundroutings gesetzt. Nun ist es leider so, dass immer nur über die 6367804 raustelefoniert wird.
Route 1.jpgRoute 2.jpg

Wenn ich nun von der Nebenstelle 11 raustelefoniere, wird immer die Route 1 verwendet. Ändere ich die Rehenfolge der Routes, funktioniert auch die zweite Route. Wenn ich das dem Log richtig entnehme, fällt die Route immer auf "default" (immer die erste Route der Liste) zurück.
Sollte man das einstellen können, und Ihr mir sagen könnt wo man das macht, wäre ich sehr dankbar.

anbei noch die Log:
Code:
  -- Executing [885009@from-internal:1] Macro("SIP/11-00000002", "user-callerid,LIMIT,EXTERNAL,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/11-00000002", "TOUCH_MONITOR=1488982491.2") in new stack
    -- Executing [s@macro-user-callerid:2] Set("SIP/11-00000002", "AMPUSER=11") in new stack
    -- Executing [s@macro-user-callerid:3] GotoIf("SIP/11-00000002", "0?report") in new stack
    -- Executing [s@macro-user-callerid:4] ExecIf("SIP/11-00000002", "1?Set(REALCALLERIDNUM=11)") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/11-00000002", "AMPUSER=11") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/11-00000002", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/11-00000002", "AMPUSERCIDNAME=Notebook") in new stack
    -- Executing [s@macro-user-callerid:8] GotoIf("SIP/11-00000002", "0?report") in new stack
    -- Executing [s@macro-user-callerid:9] Set("SIP/11-00000002", "AMPUSERCID=11") in new stack
    -- Executing [s@macro-user-callerid:10] Set("SIP/11-00000002", "__DIAL_OPTIONS=Ttr") in new stack
    -- Executing [s@macro-user-callerid:11] Set("SIP/11-00000002", "CALLERID(all)="Notebook" <11>") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/11-00000002", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:13] ExecIf("SIP/11-00000002", "1?Set(GROUP(concurrency_limit)=11)") in new stack
    -- Executing [s@macro-user-callerid:14] ExecIf("SIP/11-00000002", "0?Set(CHANNEL(language)=)") in new stack
    -- Executing [s@macro-user-callerid:15] GotoIf("SIP/11-00000002", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,29)
    -- Executing [s@macro-user-callerid:29] Set("SIP/11-00000002", "CALLERID(number)=11") in new stack
    -- Executing [s@macro-user-callerid:30] Set("SIP/11-00000002", "CALLERID(name)=Notebook") in new stack
    -- Executing [s@macro-user-callerid:31] GotoIf("SIP/11-00000002", "0?cnum") in new stack
    -- Executing [s@macro-user-callerid:32] Set("SIP/11-00000002", "CDR(cnam)=Notebook") in new stack
    -- Executing [s@macro-user-callerid:33] Set("SIP/11-00000002", "CDR(cnum)=11") in new stack
    -- Executing [s@macro-user-callerid:34] Set("SIP/11-00000002", "CHANNEL(language)=en") in new stack
    -- Executing [885009@from-internal:2] Gosub("SIP/11-00000002", "sub-record-check,s,1(out,885009,dontcare)") in new stack
    -- Executing [s@sub-record-check:1] GotoIf("SIP/11-00000002", "0?initialized") in new stack
    -- Executing [s@sub-record-check:2] Set("SIP/11-00000002", "__REC_STATUS=INITIALIZED") in new stack
    -- Executing [s@sub-record-check:3] Set("SIP/11-00000002", "NOW=1488982491") in new stack
    -- Executing [s@sub-record-check:4] Set("SIP/11-00000002", "__DAY=08") in new stack
    -- Executing [s@sub-record-check:5] Set("SIP/11-00000002", "__MONTH=03") in new stack
    -- Executing [s@sub-record-check:6] Set("SIP/11-00000002", "__YEAR=2017") in new stack
    -- Executing [s@sub-record-check:7] Set("SIP/11-00000002", "__TIMESTR=20170308-151451") in new stack
    -- Executing [s@sub-record-check:8] Set("SIP/11-00000002", "__FROMEXTEN=11") in new stack
    -- Executing [s@sub-record-check:9] Set("SIP/11-00000002", "__MON_FMT=wav") in new stack
    -- Executing [s@sub-record-check:10] NoOp("SIP/11-00000002", "Recordings initialized") in new stack
    -- Executing [s@sub-record-check:11] ExecIf("SIP/11-00000002", "0?Set(ARG3=dontcare)") in new stack
    -- Executing [s@sub-record-check:12] Set("SIP/11-00000002", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [s@sub-record-check:13] ExecIf("SIP/11-00000002", "0?Set(REC_STATUS=NO)") in new stack
    -- Executing [s@sub-record-check:14] GotoIf("SIP/11-00000002", "3?checkaction") in new stack
    -- Goto (sub-record-check,s,17)
    -- Executing [s@sub-record-check:17] GotoIf("SIP/11-00000002", "1?sub-record-check,out,1") in new stack
    -- Goto (sub-record-check,out,1)
    -- Executing [out@sub-record-check:1] NoOp("SIP/11-00000002", "Outbound Recording Check from 11 to 885009") in new stack
    -- Executing [out@sub-record-check:2] Set("SIP/11-00000002", "RECMODE=dontcare") in new stack
    -- Executing [out@sub-record-check:3] ExecIf("SIP/11-00000002", "1?Goto(routewins)") in new stack
    -- Goto (sub-record-check,out,7)
    -- Executing [out@sub-record-check:7] Gosub("SIP/11-00000002", "recordcheck,1(dontcare,out,885009)") in new stack
    -- Executing [recordcheck@sub-record-check:1] NoOp("SIP/11-00000002", "Starting recording check against dontcare") in new stack
    -- Executing [recordcheck@sub-record-check:2] Goto("SIP/11-00000002", "dontcare") in new stack
    -- Goto (sub-record-check,recordcheck,3)
    -- Executing [recordcheck@sub-record-check:3] Return("SIP/11-00000002", "") in new stack
    -- Executing [out@sub-record-check:8] Return("SIP/11-00000002", "") in new stack
    -- Executing [885009@from-internal:3] ExecIf("SIP/11-00000002", "0 ?Set(CDR(accountcode)=)") in new stack
    -- Executing [885009@from-internal:4] Set("SIP/11-00000002", "MOHCLASS=default") in new stack
    -- Executing [885009@from-internal:5] ExecIf("SIP/11-00000002", "0?Set(TRUNKCIDOVERRIDE=622)") in new stack
    -- Executing [885009@from-internal:6] Set("SIP/11-00000002", "_NODEST=") in new stack
    -- Executing [885009@from-internal:7] Macro("SIP/11-00000002", "dialout-trunk,2,885009,,off") in new stack
    -- Executing [s@macro-dialout-trunk:1] Set("SIP/11-00000002", "DIAL_TRUNK=2") in new stack
    -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/11-00000002", "0?sub-pincheck,s,1()") in new stack
    -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/11-00000002", "0?disabletrunk,1") in new stack
    -- Executing [s@macro-dialout-trunk:4] Set("SIP/11-00000002", "DIAL_NUMBER=885009") in new stack
    -- Executing [s@macro-dialout-trunk:5] Set("SIP/11-00000002", "DIAL_TRUNK_OPTIONS=Ttr") in new stack
    -- Executing [s@macro-dialout-trunk:6] Set("SIP/11-00000002", "OUTBOUND_GROUP=OUT_2") in new stack
    -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/11-00000002", "1?nomax") in new stack
    -- Goto (macro-dialout-trunk,s,9)
    -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/11-00000002", "0?skipoutcid") in new stack
    -- Executing [s@macro-dialout-trunk:10] Set("SIP/11-00000002", "DIAL_TRUNK_OPTIONS=T") in new stack
    -- Executing [s@macro-dialout-trunk:11] Macro("SIP/11-00000002", "outbound-callerid,2") in new stack
    -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/11-00000002", "0?Set(CALLERPRES(name-pres)=)") in new stack
    -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/11-00000002", "0?Set(CALLERPRES(num-pres)=)") in new stack
    -- Executing [s@macro-outbound-callerid:3] ExecIf("SIP/11-00000002", "0?Set(REALCALLERIDNUM=11)") in new stack
    -- Executing [s@macro-outbound-callerid:4] GotoIf("SIP/11-00000002", "1?normcid") in new stack
    -- Goto (macro-outbound-callerid,s,7)
    -- Executing [s@macro-outbound-callerid:7] Set("SIP/11-00000002", "USEROUTCID=621") in new stack
    -- Executing [s@macro-outbound-callerid:8] Set("SIP/11-00000002", "EMERGENCYCID=") in new stack
    -- Executing [s@macro-outbound-callerid:9] Set("SIP/11-00000002", "TRUNKOUTCID=hidden") in new stack
    -- Executing [s@macro-outbound-callerid:10] GotoIf("SIP/11-00000002", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,15)
    -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/11-00000002", "1?Set(CALLERID(all)=hidden)") in new stack
    -- Executing [s@macro-outbound-callerid:16] ExecIf("SIP/11-00000002", "1?Set(CALLERID(all)=621)") in new stack
    -- Executing [s@macro-outbound-callerid:17] ExecIf("SIP/11-00000002", "1?Set(CALLERID(all)=hidden)") in new stack
    -- Executing [s@macro-outbound-callerid:18] ExecIf("SIP/11-00000002", "1?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
    -- Executing [s@macro-outbound-callerid:19] ExecIf("SIP/11-00000002", "1?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
    -- Executing [s@macro-outbound-callerid:20] Set("SIP/11-00000002", "CDR(outbound_cnum)=") in new stack
[2017-03-08 15:14:51] WARNING[1711]: func_cdr.c:383 cdr_write_callback: CDR requires a value (CDR(variable)=value)
    -- Executing [s@macro-outbound-callerid:21] Set("SIP/11-00000002", "CDR(outbound_cnam)=hidden") in new stack
    -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/11-00000002", "1?sub-flp-2,s,1()") in new stack
    -- Executing [s@sub-flp-2:1] ExecIf("SIP/11-00000002", "1?Return()") in new stack
    -- Executing [s@macro-dialout-trunk:13] Set("SIP/11-00000002", "OUTNUM=885009") in new stack
    -- Executing [s@macro-dialout-trunk:14] Set("SIP/11-00000002", "custom=SIP/6367804") in new stack
    -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/11-00000002", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)") in new stack
    -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/11-00000002", "0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))") in new stack
    -- Executing [s@macro-dialout-trunk:17] Macro("SIP/11-00000002", "dialout-trunk-predial-hook,") in new stack
    -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/11-00000002", "") in new stack
    -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/11-00000002", "0?bypass,1") in new stack
    -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/11-00000002", "1?Set(CONNECTEDLINE(num,i)=885009)") in new stack
    -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/11-00000002", "0?Set(CONNECTEDLINE(name,i)=CID:)") in new stack
    -- Executing [s@macro-dialout-trunk:21] ExecIf("SIP/11-00000002", "1?Set(CONNECTEDLINE(name,i)=CID:(Hidden))") in new stack
    -- Executing [s@macro-dialout-trunk:22] GotoIf("SIP/11-00000002", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:23] Dial("SIP/11-00000002", "SIP/6367804/885009,300,T") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called SIP/6367804/885009
    -- SIP/6367804-00000003 is making progress passing it to SIP/11-00000002
       > 0xb463ae00 -- Probation passed - setting RTP source address to 192.168.178.1:7090
       > 0xb7612960 -- Probation passed - setting RTP source address to 192.168.178.21:5062

Vielleicht könnt ihr den Fehler finden, denn ich verzweifle nun echt.

Ich sollte vielleicht noch erwähnen, dass ich nicht der Spezialist in Sachen Asterisk und Linux bin.

Dennoch bitte ich um Eure Hilfe, und möchte mich auch hier nun schon recht herzlich dafür bedanken.

Grüße alex-kehl
 
Zuletzt bearbeitet von einem Moderator:
Du musst in den Dial Patterns auch eintragen wann welche Route greifen soll.

Als Beispiel:

Im Feld "match Pattern": "01[567]XXX.
Bedeutet dass diese Route für alle deutschen Handynummern genommen wird.

Oder "0NXX." für alle deutschen Rufnummern mit Vorwahl 02...-09...

Oder ZXX. für alle lokalen Rufnummern ohne Vorwahl. (In dem Fall müsste deine lokale Vorwahl in das Feld prepend)

Soll je nach Nebenstelle eine Route greifen muss die Nebenstelle in das Feld CallerID

Ich hoffe, ich konnte helfen.
 
Hallo brainscan,

die Nummer der Nebenstelle im OutboundRoute war des Rätsels Lösung ! ! !

VIELEN DANK ! ! ! ;)
 
Sehr gut. Freut mich dass ich helfen konnte.
 
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.