Rufumleitung tut nicht

Hi,

ich habe auch gerade ein Problem mit der RUL.
Hab mir das jetzt im Diaplan so zusammen gesetzt:

Code:
exten => _2XXXX,n,NoOp(Anruf von ${CALLERID(num)} fuer ${EXTEN})
exten => _2XXXX,n,Set(cf=${DB_EXISTS(CF/${EXTEN})})
exten => _2XXXX,n,GotoIf($["${cf}" != "1" ]?normal:forward)
exten => _2XXXX,n(normal),NoOp(Keine Weiterleitung ${EXTEN} wird gerufen)
exten => _2XXXX,n,Dial(SIP/${EXTEN},20)
exten => _2XXXX,n,VoiceMail(${EXTEN},u)
exten => _2XXXX,n(forward),NoOp(Weiterleitung von ${EXTEN} zu ${DB(CF/${EXTEN})})
exten => _2XXXX,n,Set(target=${DB(CF/${EXTEN})})
exten => _2XXXX,n,Dial(SIP/${target})

Das Problem ist jetzt, dass die letzte Zeile nicht richtig funktioniert. Richte ich zum Beispiel eine RUL zur 222 ein, sehe ich im Asterisk:

Code:
 -- Executing [29100@default:8] NoOp("SIP/29400-09e47f58", "Weiterleitung von 29100 zu 222") in new stack
    -- Executing [29100@default:9] Set("SIP/29400-09e47f58", "target=222") in new stack
    -- Executing [29100@default:10] Dial("SIP/29400-09e47f58", "SIP/222") in new stack
[Apr 20 11:43:16] WARNING[2491]: chan_sip.c:2921 create_addr: No such host: default
[Apr 20 11:43:16] WARNING[2491]: app_dial.c:1202 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
  == Everyone is busy/congested at this time (1:0/0/1)

Die 222 ist aber definitiv erreichbar, auch von der 29100 und der 29400 aus.
Wo liegt der Hund begraben?
 
Der Hund liegt - warum auch immer in dieser Zeile - im "default" begraben.

Es bleiben zwei Möglichkeiten:

A) Versuche Dial(Local/${target})
Damit wird ein Call in den lokalen Kontext zurückgeworfen, statt einen ausgehenden Call an einen nichtexistenten Provider "default" zu versuchen.

B) Du machst an dieser Stelle gar keinen Call sondern startest die Auswertung im Kontext neu, indem Du ein Goto nimmst: Goto(_deinKontext_|${target}|1). Dabei musst Du natürlich auch noch Deinen Kontext einsetzen, in dem Du Dich bewegst bzw. der, in dem das Umleitungsziel (222) gehandelt wird.

Mit der Variante B sind auch verkettete Rufumleitungen möglich, da sie ja die Auswertung neu startet, bis sie auf ein nicht-umgeleitetes Ziel trifft, und dann erst einen Call auslöst. Auch schont Variante B die Ressourcen im SIP-Stack, da nur einmal zum Schluss ein SIP-Call ausgelöst wird. Ganz idiotensicher ist die Goto-Geschichte aber auch nicht, man kann auch da bei der Programmierung ein paar Denkfehlern unterliegen. :)
 
Zuletzt bearbeitet:
Hi,

danke! Hatte schon vermutet, dass er im falschen Kontext nach der 222 sucht. Momentan ist das ganze noch eine Testumgebung, um die Möglichkeiten von Asterisk durchzuprobieren, daher hängt alles im default-context.
 
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.