Umleitung bei "nicht verbunden" und nach x Minuten

sobdog

Neuer User
Mitglied seit
22 Dez 2006
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe eine Rufnummer und möchte folgendes Szenario abbilden:

SIP Telefon nicht verbunden:
direkt Umleitung auf bestimmte Rufnummer => Wenn nach 10 Sek. keiner ran geht dann Mailbox

Geht nach 10 Sekunden niemand ans SIP-Telefon => Umleitung auf bestimmte Rufnummer => nach weiteren 10 Sek. geht dann Mailbox ran

Ich ein wenig im Forum geschaut, bei google und in meinem Büchlein.. hab aber leider nichts gefunden, was mir weiterhilft. Vorallem die Sache mit dem "SIP Telefon nicht verbunden".

Hoffe ihr könnt mir Tipps geben?
 
Ok, tipps kann ich Dir gern geben ;) - Spass bei Seite.

Verwende doch einfach GOTOIF und die Variable ${DIALSTATUS}
 
Hallo,

erstmal danke für deine Antwort. Ich habe nun einen macro gebaut (stdin). Beim Anruf der Nummer springt er auch in den Macro, lässt die erste Rufnummer klingeln, danach kommt aber nach ca. 20 Sekunden ein tut-tut-tut als hätte der andere aufgelegt.

Das Macro sind konkret so aus:

[macro-stdin]
exten => s,1,Dial(SIP/11,10)
exten => s,2,NoOp(Dial Status: ${DIALSTATUS})
exten => s,3,Goto,s-${DIALSTATUS},1

exten => s-NOANSWER,1,SetCIDNum(123445)
exten => s-NOANSWER,2,Dial(SIP/1234@out,20)
exten => s-NOANSWER,3,voicemail,u11

exten => s-BUSY,1,voicemail,b11

exten => s-CHANUNAVAIL,1,SetCIDNum(12343)
exten => s-CHANUNAVAIL,2,Dial(SIP/1234@out,10)
exten => s-CHANUNAVAIL,3,voicemail,u11

Die Rufnummern hab ich angepasst ;-)

In der cli bekomme ich beim Anruf nun folgende Messages:

-- Executing Macro("SIP/80.80.80.80-08122f58", "stdin") in new stack
-- Executing Dial("SIP/80.80.80.80-08122f58", "SIP/11|10") in new stack
-- Called 11
-- SIP/11-fe72 is ringing
-- SIP/11-fe72 is ringing
-- SIP/11-fe72 is ringing
-- SIP/11-fe72 is ringing
-- SIP/11-fe72 is ringing
-- Nobody picked up in 10000 ms
-- Executing NoOp("SIP/80.80.80.80-08122f58", "Dial Status: NOANSWER") in new stack
-- Executing Goto("SIP/80.80.80.80-08122f58", "s-NOANSWER") in new stack
-- Goto (macro-stdin,s,0)
Mar 17 15:27:23 WARNING[29192]: pbx.c:1949 ast_pbx_run: Timeout, but no rule 't' in context 'default'

Ok, die t-Rule könnte ich noch einbauen aber die soll ja eigentlich erstmal gar nicht augerufen werden. Nach 10 Sekunden sollte er eigentlich die externen Nummer wählen (das SIP-Telefon hört hier auch auf zu klingeln ist schonmal richtig).
Aber das externe Telefon klingelt nicht und die Voicebox geht auch nicht ran.

Sitz nun schon einige Tage ohne wirkliche Lösung vor dem Problem - kann mir vielleicht jemand helfen?
 
Der Befehl heißt GoTo() und nicht GoTo,
 
Nur mal so, die Schreibweisen sind gleichwertig:

exten => s,3,Goto,s-${DIALSTATUS},1
exten => s,3,Goto(s-${DIALSTATUS},1)
exten => s,3,Goto(s-${DIALSTATUS}|1)
exten => s,3,GoTo,s-${DIALSTATUS},1
exten => s,3,goto,s-${DIALSTATUS},1

:-Ö
 
Warum geht der dann zu Priorität 0 ?
Goto (macro-stdin,s,0)

Ich habe da bisher nur Prioritäten von 1 oder größer 1 gesehen, aber nie Null



*CLI> show application goto
[Description]
Goto([[context|]extension|]priority):

Da stehen Klammern.
 
Ok,vielen Dank erstmal!

Ich habe die Zeile nun so eingetragen: s,3,Goto(s-${DIALSTATUS}|1)


Funktioniert auch erstmal: SIP phone klingelt 10 Sekunden, Die Umleitung lässt er 20 Sekunden klingeln. Danach sollte dann eigentlich die Voicebox rangehen. Macht er aber leider nicht sondern es kommt wieder der timeout.

In der Cli steht folgendes:

-- Executing Macro("SIP/80.80.80.80-0812c6c0", "stdin") in new stack
-- Executing Dial("SIP/80.80.80.80-0812c6c0", "SIP/11|10") in new stack
-- Called 11
-- SIP/11-ff19 is ringing
-- SIP/11-ff19 is ringing
-- SIP/11-ff19 is ringing
-- SIP/11-ff19 is ringing
-- Saved useragent "snom360/6.5.2" for peer 11
-- SIP/11-ff19 is ringing
-- Nobody picked up in 10000 ms
-- Executing NoOp("SIP/80.80.80.80-0812c6c0", "Dial Status: NOANSWER") in new stack
-- Executing Goto("SIP/80.80.80.80-0812c6c0", "s-NOANSWER|1") in new stack
-- Goto (macro-stdin,s-NOANSWER,1)
-- Executing SetCIDNum("SIP/80.80.80.80-0812c6c0", "42156") in new stack
-- Executing Dial("SIP/80.80.80.80-0812c6c0", "SIP/0176@out|20") in new stack
-- Called 0176@outbox
-- SIP/out-30c4 is ringing
-- Nobody picked up in 20000 ms
Mar 18 21:04:06 WARNING[21079]: pbx.c:1949 ast_pbx_run: Timeout, but no rule 't' in context 'default'
 
Oh funktioniert wohl hatte nur einen kleinen Tippfehler drin ;-)

Was aber noch nicht geht ist SetCIDNum - er soll bei der Umleitung nicht die Rufnummer des Anrufers übermitteln sondern eine frei wählbare.

Laut SIP-Provider ist das auch kein Problem. Bei mir wird derzeit immer gar keine Rufnummer übermittelt. (Selbst wenn ich SetCIDNum ganz weg lasse).
 
Auch der Befehl voicemail funktioniert besser wenn die Parameter in Klammer stehen.

Wo hast Du nur diese schrecklichen Beispiele her.

Nach dem letzten Befehl HangUp() machen.

t siehe Standard extensions
 
Kostenlos!

Statistik des Forums

Themen
247,801
Beiträge
2,273,954
Mitglieder
376,756
Neuestes Mitglied
carapan