Hi,
ich bin neu bei Asterisk und habe ein kleines Problem. Ich habe bereits mit Google gesucht. Aber nichts gefunden. Daher würde es mich interessieren, ob ich über ein bekanntes Problem gestolpert bin oder ob ich zu blöd bin.
Folgende Situation:
Ich habe ISDN, daran eine Siemens Gigaset-Anlage und parallel eine Fritz!Card Classic laufen. Die Fritz!Card hängt in meinem kleinen Server mit Debian Unstable/Testing (Kernel 2.6.17-2). Die Fritz!Card ist mittels CAPI eingebunden und funktioniert soweit. Ich kann mittels Asterisk Anrufe aus dem ISDN-Netz empfangen und weiterleiten sowie umgekehrt von meinem SIP-Softphone (X-Lite auf Mac OS X) ins ISDN-Netz telefonieren.
Theoretisch möchte ich folgendes Szenario: Bei einem Anfruf auf einer meiner ISDN-Nummern soll das Gigaset klingeln (OK, das funktioniert und hat nichts mit Asterisk zu tun
). Parallel soll der Anruf auf meinem SIP-Softphone sowie auf meinem Mobiltelefon signalisiert werden. Da letzteres nicht richtig funktioniert bzw. da ich auf dem Mobiltelefon die Anrufernummer und nicht meine eigene ISDN-Nummer sehen möchte, möchte ich nach ca. 30s eine Weiterleitung aufs Mobiltelefon mittels CD (capiCommand(deflect)).
Genau dies funktioniert nur teilweise. Es funktioniert, wenn mein Softphone angemeldet ist. Es funktioniert nicht, wenn mein Softphone abgemeldet ist. Wenn mein Softphone abgemeldet ist, wird automatisch die nächste Priorität im Dialplan ausgeführt, wodurch der Anruf sofort auf das Mobiltelefon weitergeleitet wird. Dadurch klingelt aber auch meine Telefonanalage nicht mehr. Also benötige ich in diesem Falle ein zusätzliches Wait von 30s. Hierbei bricht Asterisk aber bereits nach 5s bis 6s ab und führt die nächste Priorität nicht mehr aus. Also wenn ich ein Wait von 5s einstelle, wird die nächste Priorität ausgeführt. Bei einem Wait größer als 5 wird die nächste Priorität nicht ausgeführt.
Also meine Frage: Warum bricht Asterisk einfach ab?
Vielen Dank für ein Antwort und sei es auch nur ein Link mit den gewünschten Infos (darf auch gerne ich Englisch sein).
Pingu
Meine Konfiguration:
capi.conf
extension.conf
Meldung auf dem CLI
bei 5s funkioniert es
ich bin neu bei Asterisk und habe ein kleines Problem. Ich habe bereits mit Google gesucht. Aber nichts gefunden. Daher würde es mich interessieren, ob ich über ein bekanntes Problem gestolpert bin oder ob ich zu blöd bin.
Folgende Situation:
Ich habe ISDN, daran eine Siemens Gigaset-Anlage und parallel eine Fritz!Card Classic laufen. Die Fritz!Card hängt in meinem kleinen Server mit Debian Unstable/Testing (Kernel 2.6.17-2). Die Fritz!Card ist mittels CAPI eingebunden und funktioniert soweit. Ich kann mittels Asterisk Anrufe aus dem ISDN-Netz empfangen und weiterleiten sowie umgekehrt von meinem SIP-Softphone (X-Lite auf Mac OS X) ins ISDN-Netz telefonieren.
Theoretisch möchte ich folgendes Szenario: Bei einem Anfruf auf einer meiner ISDN-Nummern soll das Gigaset klingeln (OK, das funktioniert und hat nichts mit Asterisk zu tun
Genau dies funktioniert nur teilweise. Es funktioniert, wenn mein Softphone angemeldet ist. Es funktioniert nicht, wenn mein Softphone abgemeldet ist. Wenn mein Softphone abgemeldet ist, wird automatisch die nächste Priorität im Dialplan ausgeführt, wodurch der Anruf sofort auf das Mobiltelefon weitergeleitet wird. Dadurch klingelt aber auch meine Telefonanalage nicht mehr. Also benötige ich in diesem Falle ein zusätzliches Wait von 30s. Hierbei bricht Asterisk aber bereits nach 5s bis 6s ab und führt die nächste Priorität nicht mehr aus. Also wenn ich ein Wait von 5s einstelle, wird die nächste Priorität ausgeführt. Bei einem Wait größer als 5 wird die nächste Priorität nicht ausgeführt.
Also meine Frage: Warum bricht Asterisk einfach ab?
Vielen Dank für ein Antwort und sei es auch nur ein Link mit den gewünschten Infos (darf auch gerne ich Englisch sein).
Pingu
Meine Konfiguration:
capi.conf
Code:
[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8
language=de ;set default language
[ISDN1] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
defaultcid=* ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
controller=1 ;capi controller number to use
group=1 ;dialout group
softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode= ;Asterisk accountcode to use in CDRs
context=capi-in ;context for incoming calls
;set to 'local' (default value), no hold is done and Asterisk may
;play MOH.
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
devices=2 ;number of concurrent calls on this controller
;(2 makes sense for single BRI, 30 for PRI)
extension.conf
Code:
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
[globals]
DIALOUT=CAPI/ISDN1
FONPRIVATE=366xxxx
FAXPRIVATE=366xxxx
FONBUSINESS=366xxxx
FAXBUSINESS=366xxxx
FONSPAM1=366xxxx
FONSPAM2=366xxxx
MOBILE=0179596xxxx
SPECIALID=0179596xxxx
SMSC=01930100
[macro-capiect]
exten => s,1,capicommand(ect)
[capi-in]
exten => ${FONSPAM1},1,Goto(spam,s,1)
exten => ${FONBUSINESS},1,Dial(SIP/pingu,30,r)
exten => ${FONBUSINESS},n,capiCommand(deflect,${MOBILE})
exten => ${FONPRIVATE}/${SMSC},1,Goto(sms-in,${EXTEN},1)
exten => ${FONPRIVATE},1,Wait(10)
exten => ${FONPRIVATE},n,Dial(SIP/pingu,30,r)
exten => ${FONPRIVATE},n,Set(LANGUAGE()=de)
exten => ${FONPRIVATE},n,Set(TIMEOUT(absolute)=90)
exten => ${FONPRIVATE},n,Goto(${EXTEN}-${DIALSTATUS},1)
exten => ${FONPRIVATE},n,capiCommand(deflect,${MOBILE})
exten => ${FONPRIVATE}-CHANUNAVAIL,1,Wait(15)
exten => ${FONPRIVATE}-CHANUNAVAIL,n,capiCommand(deflect,${MOBILE})
exten => ${FONPRIVATE}-CONGESTION,1,Wait(30)
exten => ${FONPRIVATE}-CONGESTION,n,capiCommand(deflect,${MOBILE})
exten => ${FONPRIVATE}-BUSY,1,Playsound(tt-busy)
exten => ${FONPRIVATE}-BUSY,n,Hangup()
exten => ${FONPRIVATE}-NOANSWER,1,capiCommand(deflect,${MOBILE})
exten => ${FONPRIVATE}-ANSWER,1,Hangup()
[sms-in]
exten => _X.,1,Answer()
exten => _X.,n,Wait(2)
exten => _X.,n,SMS(${EXTEN},a)
exten => _X.,n,Wait(1)
exten => _X.,n,Hangup()
[spam]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,SetLanguage(en)
exten => s,n,Background(spam)
exten => s,n,WaitExten(5)
exten => s,n,Background(vm-sorry)
exten => s,n,WaitExten(2)
exten => s,n,Background(touchtone3)
exten => s,n,WaitExten(2)
exten => s,n,Hangup()
exten => t,1,Background(vm-sorry)
exten => t,n,WaitExten(2)
exten => t,n,Background(touchtone3)
exten => t,n,WaitExten(2)
exten => t,n,Hangup()
exten => i,1,Playback(pbx-invalid)
exten => i,n,Goto(spam,s,1)
exten => 1,1,Playback(digits/1)
exten => 1,n,Wait(2)
exten => 1,n,Playback(moo1)
exten => 1,n,Hangup()
exten => 2,1,Playback(digits/2)
exten => 2,n,Wait(2)
exten => 2,n,Playback(oop1)
exten => 2,n,Hangup()
[default]
[internal]
exten => s,1,Answer()
exten => s,n,Background(enter-ext-of-person)
exten => _X.,1,Dial(${DIALOUT}/${EXTEN},60,r)
Meldung auf dem CLI
Code:
== ISDN1: Incoming call '0179596xxxx' -> '366xxxx'
-- Executing Dial("CAPI/ISDN1/366xxxx-21", "SIP/pingu|30|r") in new stack
Jul 16 22:02:03 NOTICE[27961]: app_dial.c:1029 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing Set("CAPI/ISDN1/366xxxx-21", "LANGUAGE()=de") in new stack
-- Executing Set("CAPI/ISDN1/366xxxx-21", "TIMEOUT(absolute)=90") in new stack
-- Channel will hangup at 2006-07-16 20:03:33 UTC.
-- Executing Goto("CAPI/ISDN1/366xxxx-21", "366xxxx-CHANUNAVAIL|1") in new stack
-- Goto (capi-in,366xxxx-CHANUNAVAIL,1)
-- Executing Wait("CAPI/ISDN1/366xxxx-21", "15") in new stack
== Spawn extension (capi-in, 366xxxx-CHANUNAVAIL, 1) exited non-zero on 'CAPI/ISDN1/366xxxx-21'
== ISDN1: CAPI Hangingup
bei 5s funkioniert es
Code:
== ISDN1: Incoming call '0179596xxxx' -> '366xxxx'
-- Executing Dial("CAPI/ISDN1/366xxxx-1e", "SIP/pingu|30|r") in new stack
Jul 16 21:42:41 NOTICE[27919]: app_dial.c:1029 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing Set("CAPI/ISDN1/366xxxx-1e", "LANGUAGE()=de") in new stack
-- Executing Set("CAPI/ISDN1/366xxxx-1e", "TIMEOUT(absolute)=40") in new stack
-- Channel will hangup at 2006-07-16 19:43:21 UTC.
-- Executing Goto("CAPI/ISDN1/366xxxx-1e", "366xxxx-CHANUNAVAIL|1") in new stack
-- Goto (capi-in,366xxxx-CHANUNAVAIL,1)
-- Executing Wait("CAPI/ISDN1/366xxxx-1e", "5") in new stack
-- Executing capiCommand("CAPI/ISDN1/366xxxx-1e", "deflect|0179596xxxx") in new stack
== Auto fallthrough, channel 'CAPI/ISDN1/366xxxx-1e' status is 'CHANUNAVAIL'
== ISDN1: CAPI Hangingup