DISA funktioniert nicht nach Callback aufs Handy

mausk

Neuer User
Mitglied seit
9 Dez 2005
Beiträge
88
Punkte für Reaktionen
0
Punkte
0
Ausgangssituation:
Von meinem Handy (Nr. 017xxxxxxx) rufe ich die Nummer 123456 auf dem Asterisk an, damit ich via DISA eine beliebige andere Nummer wählen kann.

Callfile für den Rückruf:
Code:
Channel: ZAP/g2/017xxxxxxx
Callerid: 123456
SetVar: CALLERIDNUM=123456
MaxRetries: 2
RetryTime: 30
WaitTime: 60
Context: callback
Extension: cb-disa
Priority: 1
Entsprechender Auszug aus extensions.conf
Code:
[callback]
exten => cb-disa,1,NoOp(${TIMESTAMP} >>> ${EXTEN})
exten => cb-disa,n,DISA(no-password,outband)
exten => cb-disa,n,Hangup()
Problem:
Der Asterisk reagiert nicht auf die über die Handy-Tastatur eingegebenen Ziffern.

Was jedoch geht:
Wenn ich vom Handy folgende Nummer wähle:
123457+123456
dann funktioniert DISA problemlos (+ steht für eine Wahlpause: 123457 wird angerufen, kurze Pause, Asterisk erhält die Nachwahl 123456 und es funktioniert).

Entsprechender Auszug aus extensions.conf
Code:
exten => 123457,1,NoOp(${TIMESTAMP} >>> ${EXTEN})
exten => 123457,n,DISA(no-password,outband)
exten => 123457,n,Hangup()

Hat jemand dafür eine Erklärung?
 
Solange Du Deine extensions.conf, vor allem den Kontext outband nicht zeigst: nein
 
madiehl schrieb:
Solange Du Deine extensions.conf, vor allem den Kontext outband nicht zeigst: nein
Am Kontext outband kann es wirklich nicht liegen. Du kannst davon ausgehen, dass der Kontext outband funktioniert, sonst würde das Wählen von 123457+123456 auch nicht funktionieren ;)
 
Und Du kannst davon ausgehen, das man Dir ohne weitere Infos nicht helfen kann, ausser man hat hellseherische Fähigkeiten. Ich verstehe z.B. nicht wo Dein Problem liegt, denn Du kannst doch durchwählen. Das könnte man z.B. durch eine Ansage vor dem DISA und evtl. anderen TimeOuts hinbekommen, aber ein wenig solltest Du selbst auch mithelfen. Von daher sollte man, wenn man um Hilfe bittet, die relevanten Dateien wie z.B. sip.conf und extensions.conf posten.
 
Wie du richtig bemerkt hast, kann ich durchwählen.
Eigentlich möchte ich aber, dass ich auf das Handy einen Rückruf bekomme, der in DISA landet, ich dann am Handy eine Nummer nachwählen kann, sobald ich den Rufton von DISA bekomme und dann * die nachgewählte Nummer über den den Kontext outband wählt.
Da ich den Rufton von DISA über den Rückruf erhalte, die nachgewählte Nummer aber nicht von * erkannt wird, wird der zustande gekommene Rückruf von * einfach wieder beendet, als ob man keine Nummer eingegeben hat. Asterisk kommt also gar nicht dazu, den Anruf in den Kontext outband zu transferieren, daher ist der Kontext outband für die Lösung meines Problems auch nicht relevant!

Aber wenn es dir weiterhilft, hier noch der gewünschte Auszug aus der extensions.conf:
Code:
[outband]
exten => _X.,1,NoOp(${TIMESTAMP} >>> ${EXTEN})
exten => _X.,n,DIAL(ZAP/g1/${EXTEN},60)
exten => _X.,n,Hangup()
 
Versuch's doch mal mit WaitExten statt DISA, vielleicht erzielst Du damit bessere Ergebnisse, Beispiel siehe hier . Außerdem solltest Du Asterisk mal updaten, falls Du tatsächlich noch die 1.2.1 laufen hast, aktuell ist die 1.2.7.1

Gruß,
Tin
 
Bei meinem letzten Callback versuchen hatte ich genau das gleiche Problem. War auch eine 1.2.1 Version. Also *-Updaten und nochmal versuchen. Wenn´s das war bitte berichten. Da ich mir damals daran auch die Zähne ausgebissen hatte, und es bisher nicht mehr versuchte.
 
Erst jetzt habe ich verstandeen wie Du das machen möchtest. Bei mir hat das auch erst ab dem Asterisk 1.24 funktioniert. Ich habe mir das entsprechend abgeändert, aber Grundlage war dieser Thread hier:
http://www.ip-phone-forum.de/showthread.php?t=82751&highlight=callback+reloaded
Ein Beispiel aus der extensions.conf:
Code:
exten => s,1,Set(NR=)
exten => s,2,Background(vm-enter-num-to-call)
exten => s,3,Set(TIMEOUT(response)=10)
exten => s,4,WaitExten
exten => _X,1,Set(NR=${NR}${EXTEN})
exten => _X,2,Goto(s,3)

; Zuruecksetzen
exten => *,1,Goto(s,1)

; Nummer uebergeben
exten => #,1,Dial(SIP/${NR}@${GMXID},,)
Deswegen ist es so wichtig, das man die entsprechenden Teile zeigt. Ich sehe nämlich bei Dir keine Abfrage der zu wählenden Rufnummer. Das musst Du aber tun, z.B. so wie oben gepostet.
Wenn ich das aus den von Dir geposteten Zeilen richtig rauslese, wird nämlich gar kein Rückruf erstellt der dann DISA macht. Also entweder musst Du noch in DISA springen nachdem der Rückruf erfolgt ist oder Du musst es beispielsweise über Waitexten lösen. Nur die Angabe des entsprechenden Kontextes im Callbackfile reicht nicht für DISA aus.
 
Vielen Dank für eure Hinweise. Werde als nächstes einen Update auf 1.24 machen (oder vielleicht gibts ja in den nächsten Tagen noch eine neuere bristuffed-Version). Sobald ich soweit bin (voraussichtlich erst nächstes Wochenende), werde ich mich wieder melden.
 
Aktuell ist z.Zt. Asterisk 1.2.6-BRIstuffed-0.3.0-PRE-1n
 
madiehl schrieb:
Aktuell ist z.Zt. Asterisk 1.2.6-BRIstuffed-0.3.0-PRE-1n
Hast du schon Erfahrungen mit dieser Version?
Auf der Homepage von Junghanns steht nach wie vor die Version 0.3.0-PRE-1l (* 1.2.4) zum Download bereit. Nur wenn man direkt auf die Seite mit den Downloads geht, kann man die 0.3.0-PRE-1n seit dem 10. April herunterladen. Daher bin ich mir nicht sicher, ob man diese Version überhaupt verwenden sollte.
 
Die Version läuft bei mir seit ca. 2 Wochen fehlerfrei. Ich kann sie also daher empfehlen.
 
Kostenlos!

Statistik des Forums

Themen
248,871
Beiträge
2,303,444
Mitglieder
378,531
Neuestes Mitglied
margaux