mehrere ankommende Rufnummer unterscheiden

cmohr schrieb:
Wie kann ich dies realisieren?


Beispielsweise indem Du Dir mit der Funktion SIPGetHeader den To-Header holst, da steht die gerufene Nummer drin. Die Funktion ist in 1.2 schon drinne, ebenso im CVS, als Patch gegen 1.0.8 habe ich es da hin gelegt. Der Patch geht so auch gegen 1.0.9. Lies auch mal hier nach, da steht noch mehr dazu.
 
cmohr schrieb:
Wie kann ich dies realisieren?


Beispielsweise indem Du Dir mit der Funktion SIPGetHeader den To-Header holst, da steht die gerufene Nummer drin. Die Funktion ist in 1.2 schon drinne, ebenso im CVS, als Patch gegen 1.0.8 habe ich es da hin gelegt. Der Patch geht so auch gegen 1.0.9. Lies auch mal hier nach, da steht noch mehr dazu. Kurzgesagt, schnippel Dir aus dem To-Header raus, was Du brauchst, und gut is.
 
Dieses Forum hat mir 2x einen Fehler geworfen beim Eintragen, hat's aber dennoch angenommen, daher 3x 3x 3x. Grummel.
 
@hmilz: vielen Dank, habe soeben via CVS ein update (auf 1.2, hoffe ich) durchgeführt.

allerdings sagt er mir trotz erfolgreicher Installation noch Version 1.0.8
und die Applikation SIPGetHeader kennt er auch noch nicht (your application is not registered)

hmm... muss ich die Applikation noch explizit laden?
 
so, 1.2 läuft jetzt...

jetzt bin ich aber noch nicht weitergekommen. Die Abfrage was in EXTEN steht gibt folgendes aus

*CLI> -- Executing NoOp("SIP/D1090181003-f2e8", "s") in new stack
-- Executing NoOp("SIP/D1090181003-f2e8", "h") in new stack
 
so, habe das Extrahieren gelöst mit

Code:
exten => _.,1,SIPGetHeader(Header=To)
exten => _.,2,Set(NUMMER=${Header:-38:8})               ;schneidet aus dem SIP-Header die angerufene Rufnummer heraus
exten => _.,3,NoOp(${NUMMER})


aber wie kriege ich jetzt die Unterscheidung nach dieser Rufnummer hin. Mein Kontext sieht jetzt so aus

Code:
[default]                                               ;incoming
exten => _.,1,SIPGetHeader(Header=To)
exten => _.,2,Set(NUMMER=${Header:16:2})                ;schneidet aus dem SIP-Header die angerufene Rufnummer (2 Stellen) heraus
exten => _.,3,NoOp(${NUMMER})                           ;gibt Nummer aus, diese wird nun verwendet um Aktionen nach angerufener Nummer zu unterscheiden
;exten => _.,3,NoOp(${CALLERIDNUM})                      ;Ausgabe der Nummer des Anrufers

exten => _.,4,GotoIf($["{NUMMER}" = "14"]?7:5)          ;wenn NUMMER 14 ist, dann gehe zu Befehl mit Priorität 7, ansonsten 5
exten => _.,5,GotoIf($["{NUMMER}" = "04"]?6:8)          ;wenn NUMMER 04 ist, dann gehe zu Befehl mit Priorität 6, ansonsten 8

exten => _.,6,Dial(SIP/1004,20)
exten => _.,7,Dial(${FAXNUMMER})

exten => _.,8,Hangup                                    ;auflegen


funktioniert aber nicht, er scheint die Bedigung falsch zu machen, warum?

Code:
 -- Executing Set("SIP/D1090181003-3272", "NUMMER=14") in new stack
    -- Executing NoOp("SIP/D1090181003-3272", "14") in new stack
    -- Executing GotoIf("SIP/D1090181003-3272", "0?7:5") in new stack
    -- Goto (default,s,5)
    -- Executing GotoIf("SIP/D1090181003-3272", "0?6:8") in new stack
    -- Goto (default,s,8)
    -- Executing Hangup("SIP/D1090181003-3272", "") in new stack
  == Spawn extension (default, s, 8) exited non-zero on 'SIP/D1090181003-3272'
    -- Executing SIPGetHeader("SIP/D1090181003-3272", "Header=To") in new stack
    -- Executing Set("SIP/D1090181003-3272", "NUMMER=14") in new stack
    -- Executing NoOp("SIP/D1090181003-3272", "14") in new stack
    -- Executing GotoIf("SIP/D1090181003-3272", "0?7:5") in new stack
    -- Goto (default,h,5)
    -- Executing GotoIf("SIP/D1090181003-3272", "0?6:8") in new stack
    -- Goto (default,h,8)
    -- Executing Hangup("SIP/D1090181003-3272", "") in new stack
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,872
Beiträge
2,303,452
Mitglieder
378,532
Neuestes Mitglied
Nik320