Rufweiterleitung an 2 Geräte

iXware

Neuer User
Mitglied seit
21 Jun 2004
Beiträge
56
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich komme irgendwie nicht weiter - ich muß einen über Capi ankommenden Ruf an ein internes SIP-Telefon weiterleiten und gleichzeitig an ein Mobiltelefon (über ISDN-Rufumleitung). Je nach dem wo abgenommen wird soll den Anfruf hingehen.

Am internen SIP-Konto ist auch noch ein Anrufbeantorter konfiguriert. der nur angehen soll, wenn bei beiden Telefonen niemand nach 30 Sekunden abgenommen hat. Wie das bei einem Asterisk-Konto funktioniert ist mir schon klar, aber wie ist das bei meinem oben gewünschten Feature?
 
Eine richtige Rufweiterleitung ist das eigentlich nicht.

Du möchtest an mehreren peers einen Anruf signalisieren. Das erste peer das abnimmt gewinnt und die Channels zu den anderen peers werden beendet.

Das macht man mit LOCAL Channels.
Im local Channel kannst Du auch ein WAIT einbauen, so dass die Voicebox erst nach 30 s rangeht.
 
Thomas007 schrieb:
Du möchtest an mehreren peers einen Anruf signalisieren. Das erste peer das abnimmt gewinnt und die Channels zu den anderen peers werden beendet.
ja genau, daran erkennst Du wieviel Ahnung ich von Asterisk habe - ich habe zwar hinbekommen, daßs * bei mir so wie gewünscht funktioniert, aber zu mehr reicht es dann aber auch nicht. ich habe momentan aber leider auch nicht wirklich soviel Zeit, mich so intensiv mit Asterisk zu beschäftigen.
Daher würde ich mich freuchen etwas hilfe zu bekommen

Thomas007 schrieb:
Das macht man mit LOCAL Channels.
Im local Channel kannst Du auch ein WAIT einbauen, so dass die Voicebox erst nach 30 s rangeht.

wo kann ich dazu Infos finden? Im O'Reilly-Buch hab ich auf die Schnelle nichts zu LOCAL gefunden - oder nur falsch gesucht. und hier im Forum auch nichts wirklich passendes
 
www.voip-info.org

Und das Thema wurde definitiv auch schon mindestens 2 Mal hier im Forum behandelt.

Einmal im Diskussionsthread zu meinem Asterisk Kurs und einmal [URL="http://www.ip-phone-forum.de/showthread.php?t=86818]hier[/URL]
 
ok, danke - der local-channel funktioniert jetzt - ich ahbe mich nach betateilchens Anleitung im Kurs-Thread gehalten. Aber den ruf auf das Mobiltelefon hab ich noch nicht hinbekommen. auf der Konsole gibt es aber auch keine Fehlermeldung.


[lokal]
exten => 55,1,Dial,SIP/50&CAPI/contr1/$491721111111


[capiin_6027860]
exten => 6027860,1,SetLanguage(de)
;exten => 6027860,2,GotoIfTime(00:00-23:59|*|*|*?6)
exten => 6027860,2,GotoIfTime(00:00-08:00|*|*|*?6)
exten => 6027860,3,GotoIfTime(10:45-13:30|*|*|*?6)
exten => 6027860,4,GotoIfTime(19:00-23:59|*|*|*?6)
;exten => 6027860,5,Dial(SIP/50,20,tr)
exten => 6027860,5,Dial,LOCAL/55
exten => 6027860,7,Voicemail2(su50)
exten => 6027860,108,Voicemail2(sb50)
; exten => 6027860,109,System(sendsms 491721111111 "Um ${DATETIME}: ist ein Anruf von ${CALLERID} eingegangen")
exten => 6027860,110,Hangup

was ist hier falsch? ich denke mal der Dial-Befehl im Local... wie gehts richtig?

sendsms geht auch noch nicht - auch keine Fehlermeldung, rechte sind ok, aber der Systembefehl wird nicht ausgeführt.
 
welche Asterisk Version?
 
im Moment noch 1.0.9
 
also Voicemail2 gibt es inzwischen nicht mehr
und Dein priorities stimmen auch nicht - nach dem Dial wird nach n+101 gesprungen, d.h. 5+101=106 und eine prio 106 gibt es in Deinem Dialplan nicht
 
betateilchen schrieb:
also Voicemail2 gibt es inzwischen nicht mehr
und Dein priorities stimmen auch nicht - nach dem Dial wird nach n+101 gesprungen, d.h. 5+101=106 und eine prio 106 gibt es in Deinem Dialplan nicht

hmm hab n bisschen viel weggelöscht...

[capiin_6027860]
exten => 6027860,1,SetLanguage(de)
exten => 6027860,2,GotoIfTime(00:00-08:00|*|*|*?6)
exten => 6027860,3,GotoIfTime(10:45-13:30|*|*|*?6)
exten => 6027860,4,GotoIfTime(19:00-23:59|*|*|*?6)
;exten => 6027860,5,Dial(SIP/50,20,tr)
exten => 6027860,5,Dial,LOCAL/55
exten => 6027860,6,System(echo "${DATETIME}: ${CALLERID} hat versucht dich zu erreichen." | mail -s Anrufbenachrichtigung [email protected])
exten => 6027860,7,Voicemail2(su50)
exten => 6027860,108,Voicemail2(sb50)
exten => 6027860,109,System(sendsms 49171111111 "Um ${DATETIME}: ist ein Anruf von ${CALLERID} eingegangen")
exten => 6027860,110,Hangup


müßte das dann so aussehen?

[capiin_6027860]
exten => 6027860,1,SetLanguage(de)
exten => 6027860,2,GotoIfTime(00:00-08:00|*|*|*?106)
exten => 6027860,3,GotoIfTime(10:45-13:30|*|*|*?106)
exten => 6027860,4,GotoIfTime(19:00-23:59|*|*|*?106)
;exten => 6027860,5,Dial(SIP/50,20,tr)
exten => 6027860,5,Dial,LOCAL/55
exten => 6027860,106,System(echo "${DATETIME}: ${CALLERID} hat versucht dich zu erreichen." | mail -s Anrufbenachrichtigung [email protected])
exten => 6027860,107,Voicemail2(su50)
exten => 6027860,108,Voicemail2(sb50)
exten => 6027860,109,System(sendsms 49171111111 "Um ${DATETIME}: ist ein Anruf von ${CALLERID} eingegangen")
exten => 6027860,110,Hangup


das hat aber komischerweise bisher immer so funktioniert. auch mit voicemail2
 
Zuletzt bearbeitet:
ich muß noch mal um Hilfe bitte - ich habe mir die halbe Nacht mit dem Problem um die Ohren geschlagen und kurz vor 3 Uhr aufgegeben. folgender maßen sieht die Konfig jetzt aus:

[capiin_6027860]
exten => 6027860,1,SetLanguage(de)
exten => 6027860,2,GotoIfTime(00:00-08:00|*|*|*?106)
;exten => 6027860,3,GotoIfTime(10:45-13:30|*|*|*?106)
exten => 6027860,4,GotoIfTime(19:00-23:59|*|*|*?106)
;exten => 6027860,5,Dial(LOCAL/50,20,Ttr&LOCAL/55,20,Ttr)
exten => 6027860,106,System(echo "${DATETIME}: ${CALLERID} hat versucht dich zu erreichen." | mail -s Anrufbenachrichtigung [email protected])
exten => 6027860,107,Voicemail2(su50)
exten => 6027860,108,Voicemail2(sb50)
exten => 6027860,109,Hangup

[clients]
include => mailbox
exten => 50,1,Dial(SIP/50,20,tr)
exten => 50,102,Hangup
exten => 51,1,Dial(SIP/51,20,tr)
exten => 51,102,Hangup
exten => 52,1,Dial(SIP/52,20,tr)
exten => 52,102,Hangup
exten => 55,1,Dial(CAPI/contr1/017211111111)
exten => 55,102,Hangup

aber ich bekomme es nicht hin, daß auch das Mobilttelefon angewählt wird.
 
Der Dial Befehl ist vollkommen schief.
Da muss es doch Fehlermeldungen in der Console regnen.

Dial(Technology/resource[&Tech2/resource2...][|timeout][|options][|URL])

Du kannst in einem DIAL-Befehl nur EINEN timeout übergeben.
Wenn Du nur LOCAL Channels aufrufst macht das überhaupt keinen Sinn einen Timeout mitzuschicken.

Versuch mal das Beispiel in diesem Thread zu verstehen.

http://www.ip-phone-forum.de/showthread.php?p=591087#post591087
 
Hallo Thomas,

Das hab ich mir auch schon angesehen - nur weiß ich leider nicht was hinter dialout steckt? alles andere sind nur "dumme" versuche, weil ich halt nicht weitergekommen bin.

wenn ich die besagte rufnummer (hab zum Testen jetzt mal eine andere Rufnummer genommen) anwähle bekomme ich an der konsole im Loglevel 6 folgende Meldungen:

== ISDN5: Incoming call '011111406960' -> '406962'
-- Executing SetLanguage("CAPI/ISDN5/406962-5", "de") in new stack
-- Executing GotoIfTime("CAPI/ISDN5/406962-5", "00:00-08:00|*|*|*?105") in new stack
-- Executing GotoIfTime("CAPI/ISDN5/406962-5", "19:00-23:59|*|*|*?105") in new stack
-- Executing Dial("CAPI/ISDN5/406962-5", "LOCAL/50&LOCAL/55") in new stack
-- Called 50
-- Called 55
-- Executing Dial("Local/50@default-db28,2", "SIP/50|20|tr") in new stack
Jul 21 13:35:24 DEBUG[18747]: app_dial.c:544 dial_exec: SIMPLE DIAL (NO URL)
Jul 21 13:35:24 DEBUG[18747]: chan_sip.c:1318 create_addr: Setting NAT on RTP to 0
Jul 21 13:35:24 DEBUG[18747]: acl.c:176 ast_apply_ha: ##### Testing 192.168.1.251 with 192.168.1.0
Jul 21 13:35:24 DEBUG[18747]: chan_sip.c:1499 sip_call: Outgoing Call for 50
Jul 21 13:35:24 DEBUG[18747]: chan_sip.c:1632 update_user_counter: Call from user '50' is 1 out of 0
-- Called 50
-- Local/50@default-db28,1 is ringing
-- Executing Dial("Local/55@default-f635,2", "CAPI/contr1/017211111111") in new stack
-- Called contr1/0172111111111
Jul 21 13:35:24 DEBUG[18747]: chan_sip.c:881 __sip_semi_ack: (Provisional) Stopping retransmission (but retaining packet) on '[email protected]' Request 102: Found
Jul 21 13:35:24 DEBUG[18747]: chan_sip.c:881 __sip_semi_ack: (Provisional) Stopping retransmission (but retaining packet) on '[email protected]' Request 102: Found
-- SIP/50-4bdc is ringing
-- Local/50@default-db28,1 is ringing
> CAPI INFO 0x34a2: No circuit / channel available
-- CAPI/ISDN5/017211111111-6 is circuit-busy
== ISDN5: CAPI Hangingup
== Everyone is busy/congested at this time
Jul 21 13:35:24 DEBUG[18747]: app_dial.c:1100 dial_exec: Exiting with DIALSTATUS=CONGESTION.
-- Executing Hangup("Local/55@default-f635,2", "") in new stack
== Spawn extension (default, 55, 102) exited non-zero on 'Local/55@default-f635,2'
> CAPI INFO 0x3490: Normal call clearing
Jul 21 13:35:28 DEBUG[18747]: app_dial.c:1100 dial_exec: Exiting with DIALSTATUS=CANCEL.
== Spawn extension (capiin_406962, 406962, 4) exited non-zero on 'CAPI/ISDN5/406962-5'
== ISDN5: CAPI Hangingup
Jul 21 13:35:28 DEBUG[18747]: chan_sip.c:1732 sip_hangup: update_user_counter(50) - decrement outUse counter
Jul 21 13:35:28 DEBUG[18747]: app_dial.c:1100 dial_exec: Exiting with DIALSTATUS=CANCEL.
== Spawn extension (default, 50, 1) exited non-zero on 'Local/50@default-db28,2'
Jul 21 13:35:28 DEBUG[18747]: chan_sip.c:831 __sip_ack: Acked pending invite 102


damit hier kann ich absolut nichts anfangen, da eine ISDN-Kanal frei sein sollte:
Request 102: Found
-- SIP/50-4bdc is ringing
-- Local/50@default-db28,1 is ringing
> CAPI INFO 0x34a2: No circuit / channel available
-- CAPI/ISDN5/017211111111-6 is circuit-busy
== ISDN5: CAPI Hangingup
 
Zuletzt bearbeitet:
übrigens: wenn ich den parallelruf über einen SIP-Account mache dann funktioniert das - nur über CAPI will der Ruf nicht rausgehen...
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,864
Beiträge
2,303,145
Mitglieder
378,516
Neuestes Mitglied
jpttpee