Call faild - circuits busy

nukinov

Neuer User
Mitglied seit
27 Nov 2009
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

ich habe heute versucht, mehrere Telefonate gleichzeitig über meinen ISDN Anschluss zu tätigen. Sagen wir es anders. Ich habe zwei Call-Files in mein spool/outgoing Verzeichnis kopiert. 1 für mein Festnetz-Telefon (an der selben ISDN Leitung, wie die Asterisk-Anlage) und 1 für mein Mobiltelefon.

Leider kam nur der Anruf auf mein Festnetztelefon an (was ja auch Sinn macht, da die andere ISDN-Leitung von der Asterisk Anlage für den Callout verwendet wird). Mein Mobiltelefon wurde nie angerufen.

Hier mal der Output aus der Console:
- Attempting call on CAPI/ISDN1/MEINEFESTNETZNUMMER for 1002@playmsg:1 (Retry 1)
-- Attempting call on CAPI/ISDN1/MEINEHANDYNUMMER for 1002@playmsg:1 (Retry 1)
> ISDN1#01: CAPI INFO 0x34a2: No circuit / channel available
> Channel CAPI/ISDN1#01/MEINEHANDYNUMMER-f was never answered.
== ISDN1#01: CAPI Hangingup for PLCI=0xdead0000 in state 4
[Dec 10 21:29:55] NOTICE[13543]: pbx_spool.c:356 attempt_thread: Call failed to go through, reason (8) Congestion (circuits busy)



Wie kriege ich jetzt die Asterisk dazu, das Call-File erst abzuarbeiten, wenn wieder eine Leitung verfügbar ist? Kann ich den Anruf auf das Mobiltelefon irgendwie zurückstellen, damit das später noch einmal durchgeführt?

Ich hoffe, ich konnte das Szenario klar formulieren und freue mich schon auf einen Lösungsansatz.

Beste Grüße
nuki
 
Hallo,

im Call File kannst Du mit MaxRetries und RetryTime festlegen, wie oft und in welchen Abständen Asterisk es wieder versuchen soll. Das betrifft natürlich auch den Fall, dass am Handy keiner ran geht usw.

Eine andere Möglichkeit wäre statt Dial gleich RetryDial zu nehmen, aber das bringt Dir gegenüber den Angaben im Call File nicht viel.

Was klappen müsste, wenn Du mit dem Call File nicht gleich Dial aufrufst, sondern in einen Kontext springst, dort schaust ob der Kanal frei ist, und falls nicht mittels einem externen Skript ne Minute warten und dann das Call File neu erzeugen.

Ganz krasse Variante: Du speicherst die Anrufe zunächst in einer Datenbank, holst Dir mittels Cronjob alle Zeiten einen Anrufwunsch raus, schaust nach ob es einen passenden CDR Eintrag dafür gibt, falls ja löschen weil erledigt, falls nein Call File erzeugen. Haken daran ist wiederum, dass CDR Einträge erst erzeugt werden, wenn der Anruf beendet ist. Man müsste also irgendwie noch die grad aktiven Gespräche abfragen.

Rentier
 
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.