wait() "verschmeißt" Anrufe

DanDon

Neuer User
Mitglied seit
24 Sep 2007
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

das ist mein erster Post hier, und ich bin noch zimlich unvertraut mit der Materie, habe aber schon viel mitgelesen (ip-phone-forum).

Nun zu meinem Problem:
Wenn ich mit dem wait-Befehl in der extensions.conf arbeite, werden bei Wartezeiten von mehr als ~ 10 die Anrufe "verschlampt", das sieht dann so aus:
Code:
  == Spawn extension (capi-in, 7, 57) exited non-zero on 'CAPI/ISDN1/7-d'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 4

Das ist ärgerlich, denn ich wollte das nach ca. 20-30 sekunden die voice-box rangeht....

Sicherlich ist meine Config noch von interesse:
- asterisk hängt an einer Eumex 308
- capi.conf:
Code:
[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8
language=de      ;set default language

[ISDN1]
isdnmode=msn
msn=7
incomingmsn=7
;;;;;;;;;;;;;;
;outgoingmsn=7
;;;;;;;;;;;;;;
controller=1     ;capi controller number of this interface/port
group=1          ;dialout group
softdtmf=on
relaxdtmf=on
;;;;;;;;;;;;;
faxdetect=off
;;;;;;;;;;;;;
context=capi-in
;;;;;;;;;;;;;;
;immediate=yes
;;;;;;;;;;;;;;
echocancelold=yes
;bridge=yes
devices=2

Ich habe auch mal versucht mit mehreren kurzen wait's zu arbeiten, aber fast immer nach 9~11 sekunden kommt oben genannter fehler.

Danke für eure Aufmerksamkeit, und alle Tipps !

Servus
DanDon
 
Also deine Beschreibung verstehe ich nicht so ganz. Wann genau machst Du denn wait()? Eventuell machst Du das wait() zu einem Zeitpunkt wo die Vermittlungsstelle noch keine Antwort bekommen hat und loest wegen timeout dann aus?
Dann sollte ein Ringing() vor dem Wait() stehen.

Armin
 
Danke armincm,
das hört sich plausibel an mit dem Timeout. Mit dem Wait wollte ich eigentlich nur eine Verzögerung für die VoiceBox.

Meine extensions.conf in Auszügen:

Code:
[general]

[capi-in]

exten => 7,1,Noop(${CALLERID})
exten => 7,n,GotoIf($[ ${CALLERID} = 1 ]?intern:nichtdie1)              ; UEberpruefung ob anruf von extern oder intern (1-8) kommt
exten => 7,n(nichtdie1),GotoIf($[ ${CALLERID} = 2 ]?intern:nichtdie2)
exten => 7,n(nichtdie2),GotoIf($[ ${CALLERID} = 3 ]?intern:nichtdie3)
exten => 7,n(nichtdie3),GotoIf($[ ${CALLERID} = 4 ]?intern:nichtdie4)
exten => 7,n(nichtdie4),GotoIf($[ ${CALLERID} = 5 ]?intern:nichtdie5)
exten => 7,n(nichtdie5),GotoIf($[ ${CALLERID} = 6 ]?intern:nichtdie6)
exten => 7,n(nichtdie6),GotoIf($[ ${CALLERID} = 7 ]?intern:nichtdie7)
exten => 7,n(nichtdie7),GotoIf($[ ${CALLERID} = 8 ]?intern:nichtdie8)
exten => 7,n(nichtdie8),GotoIf($[ ${CALLERID} = 017xxxxxxxx ]?myo2handy:nichtdaso2handy)
exten => 7,n(nichtdaso2handy),GotoIf($[ ${CALLERID} = 017xxxxxxxxx ]?myalicehandy:nichtdashandy)
exten => 7,n(nichtdashandy),GotoIf($[ ${CALLERID} = 8 ]?intern:extern)

        exten => 7,n(myo2handy),Noop(myo2handy)
                Goto(vms)

        exten => 7,n(vms),Noop(vms)
                exten => 7,n,Answer()
                exten => 7,n,VoiceMailMain(${CALLERID(num)},s)

        exten => 7,n(myalicehandy),Noop(myalicehandy)
                exten => 7,n,Wait(1)
                exten => 7,n,Answer()
                exten => 7,n,Playback(loligo/menu)
                exten => 7,n,Playback(press-3)
                exten => 7,n,Playback(to-leave-message-for)
                exten => 7,n,Playback(user)
                exten => 7,n,Playback(press-4)
                exten => 7,n,Playback(to-log-in-to-voice-mail)
;;;;;;;;;;;;;;;Einlesen DTMF
;........gekürzt .....



        exten => 7,n(extern),Noop(extern)
                exten => 7,n,Wait(5)
                exten => 7,n,Wait(5) <<<=== HIER GEHT DER ANRUF "VERLOREN" !!!
                exten => 7,n,Wait(5)
                exten => 7,n,VoiceMail(7)
                exten => 7,n,Hangup()

Ich denke da kann man einiges eleganter gestalten oder ?
Besonders die CALLERID-abfrage ....

Wie könnte ich das mit Ringing gestalten ?

Servus
DanDon
 
wenn ich verstehen würde, was Du da eigentlich machen willst, könnte ich Dir vielleicht auch weiterhelfen :noidea:

Versuch mal zu erklären, welchen Sinn und Zweck Dein Dialplan haben soll und wieso Du da mit 1000 Labels arbeitest.
 
Also ich möchte:
1. Wenn ich mit meinem Handys anrufe, dann möchte ich dass ich ein Menü habe, in dem ich Anrufbeantworter abhören, rechner runterfahren usw. uvm. machen kann. Also ein Operation-Center ;-)

2. Wenn mich unbekannte bzw. alle anderen nummern anrufen, dann soll es erst 20-30 Sekunden klingeln, dass ich ans Telefon gehen kann wenn ich da bin, und nach 20-30 sekunden soll die asterisk VoiceBox hingehen.

Also um es einfach zu sagen ich möchte für mein Handy ein Menü mit dem ich den PC steuere; für alle anderen Nummern einen normalen AB.

Zu dem Thema mit den vielen Labels: sorry ich bin Anfänger und weiss es noch nicht besser ....

Ich kann es ja erstmal ganz simpel halten, dass für alle Nummern NUR der Anrufbeantworter geht, darauf kann ich ja dann aufbauen oder ?
Das Problem ist, dass ich nicht mal das hinbekomme.

Servus
DanDon
 
Zuletzt bearbeitet:
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
247,228
Beiträge
2,264,092
Mitglieder
375,733
Neuestes Mitglied
scottcole