Call File mit Alternativ Nummer

ahofmann

Neuer User
Mitglied seit
28 Mrz 2007
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich bin gerade auf ein Problem gestoßen, das mir ein bisschen Kopfzerbrechen bereitet:

Ich habe hier ein System stehen was Audiodateien+Call-File an meinen Asterisk-Server sendet. Dieser ruft dann automatisiert die entsprechende Nummer aus dem Call-File an.
MaxRetries, WaitTime etc. funktioniert super.

Wenn der Anruf allerdings auch nach $MaxRetries nicht erfolgreich war, soll eine andere Nummer angerufen werden. Wie kann ich das (am elegantesten) realisieren?

Habe schon herausgefunden, dass man im call-file mit "archive = yes" die Call-Files speichern kann. Eine Möglichkeit wäre z.B. das Call-File auf den Status zu parsen ... aber ... gefällt mir nicht :(
 
Wie wärs damit. In das Callfile die erste und zweite Nummer als Variable schreiben. Dann mit dem Callfile einen Localchannel aufrufen, und im dazugehörigen Dialplan über den Dialstatus entscheiden, ob nach Fehlschlagen des ersten Anrufs die zweite Nummer angerufen werden soll.

Bye,
Alf
 
Hallo,

danke erstmal.

Habe jetzt folgenden Aufbau:
Im Callfile leite ich den Anruf an den Local/s@outbound Kanal weiter.

Code:
Channel: Local/s@outbound
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: outbound
Extension: s
Priority: 1
Callerid: Test <1234>
Archive: yes
Set: MSG=voicealerts/2008_12_02-08_55_37
Set: HOST=TEST TEST TEST
Set: OWNNO=1234
Set: PRINO=1111
Set: SECNO=2222
Set: PIN=0815


In meiner extensions.conf habe ich folgendes:

Code:
[outbound]
exten => s,1,Wait(1)
exten => s,n,Dial(CAPI/ISDN1/${OWNNO}:${PRINO},10)
exten => s,n,Dial(CAPI/ISDN1/${OWNNO}:${SECNO},10)

exten => s,n,Set(TIMEOUT(absolute)=180)
exten => s,n(restart-message),Playback(${MSG})
exten => s,n(restart-instruction),Background(voicealerts/information)


; invalid Extension
; Bei Eingabe einer ungültigen Zahl
exten => i,1,Background(eingabeungueltig)
exten => i,2,Goto(s,instruct)


; DTMF Timeout
exten => t,1,Wait(1)
exten => t,n,Playback(nummereingeben)
exten => t,n,Goto(s,restart-instruction)


; Global Timeout
exten => T,1,Wait(1)
exten => T,n,Playback(XYZ)
exten => T,n,Hangup()


Irgendwie funktioniert das leider nicht so wie ich mir das vorstelle.
Die Nummer 1111 wird zwar angerufen, aber irgendwann wird der Anruf einfach mit Besetztzeichen unterbrochen.
In der Asterisk Konsole sehe ich einige Fehlermeldungen wie z.B.
Code:
  == Everyone is busy/congested at this time (1:1/0/0)
  == Auto fallthrough, channel 'CAPI/ISDN1#02/1111-1f' status is 'CHANUNAVAIL'




PS: Ich übergebe ja in meinem Call-File eine PIN Nummer. Wie kann ich die denn am einfachsten abfragen?
 
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.