[Problem] call forwarding an mehrere Telefone

astdb11

Neuer User
Mitglied seit
3 Jun 2010
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hi,

ich stehe gerade vor einem Problem und weiß nicht wie ich es realisieren soll.
Ich möchte ein Call Forwarding einrichten und zwar auf mehrere Telefone.

hier meine extensions.conf

Code:
[werk3]
include=> interne
include=> from_sip
include=> forwarding

[interne]
exten=> _*1X.,1,Dial(SIP/${EXTEN:1},90,rtT) 
exten=> _*1X.,n,VoiceMail(${EXTEN:1},u)

exten=> _*10,1,Dial(SIP/11&SIP/12&SIP/13,90,rtT)
exten=> _*10,n,VoiceMail(${EXTEN:1},u)
exten=> _*10,n,Hangup()

[from_sip]
exten=> _X.,1,Dial(SIP/${EXTEN}@lalala)

[forwarding]
exten => _*16X.,1,Answer()
exten => _*16X.,n,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:3})
exten => _*16X.,n,Playback(vm-saved)
exten => _*16X.,n,SayDigits(${EXTEN:3})
exten => _*16X.,n,Hangup()

exten => #16,1,Answer()
exten => #16,n,DBdel(CFIM/${CALLERID(num)})
exten => #16,n,Playback(call-fwd-cancelled)
exten => #16,n,Hangup()


meine sip.conf

Code:
[11] 
type=friend
secret=streng_geheim
host=dynamic
qualify=yes
domain=ip_von_asterisk
user=11
context=werk3

[12]
type=friend
secret=streng_geheim
host=dynamic
qualify=yes
domain=ip_von_asterisk
user=12
context=werk3

[13] 
type=friend
secret=streng_geheim
host=dynamic
qualify=yes
domain=ip_von_asterisk
user=13
context=werk3


wie kann man jetzt realisieren dass das Call Forwarding für die 11,12,13 eingeschaltet wird ?

Bedanke mich im voraus

astdb11
 
Zuletzt bearbeitet:
Hallo rentier-s,

danke für deine Antwort. Das ist ja mein Problem wenn ich *16 danach die interne Nummer wähle z.B. von der 11 auf die 12 weiterleite und dann von der 13 die 11 anrufe dann funktioniert es nicht.

Die Asterisk Log hänge ich morgen dran.

astdb11
 
Oder Du machst es einfach so, wie in den beiden Beispielen auf der Seite, die ich Dir gelinkt habe. :roll:
 
Hallo,

wenn ich es so mach wie in dem Asterisk Buch, dann sagt er mir zwar das die Umleitung steht, aber wenn ich dann die 11 intern anrufe dann leitet er nicht auf die 12.



Code:
[forward]
; Call-Forwarding für einen einzelnen Anschluss
;
; aktivieren
exten => _*44X.,1,Answer()
exten => _*44X.,n,Set(DB(CF/${CALLERID(num)})=${EXTEN:3})
exten => _*44X.,n,SayDigits(${EXTEN:3})
exten => _*44X.,n,NoOp(Weiterleitung fuer ${CALLERID(num)} auf ${EXTEN:3} aktiviert.) 
exten => _*44X.,n,Hangup()

; deaktivieren
exten => 44,1,Answer()
exten => 44,n,DBdel(CF/${CALLERID(num)})
exten => 44,n,Playback(auth-thankyou)
exten => 44,n,NoOp(Weiterleitung fuer ${CALLERID(num)} deaktiviert.) 
exten => 44,n,Hangup()

danach mache ich ein include => forward in dem context dort wo ich es haben möchte.

Asterisk log

aktivieren

Code:
<------------->
[2011-03-29 10:30:40] --- (9 headers 0 lines) ---
[2011-03-29 10:30:40]     -- Executing [*4412@telefone:2] Set("SIP/11-000001ed", "DB(CF/11)=11") in new stack
[2011-03-29 10:30:40]     -- Executing [*4412@telefone:3] SayDigits("SIP/11-000001ed", "12") in new stack
[2011-03-29 10:30:40]     -- <SIP/12-000001ed> Playing 'digits/2.gsm' (language 'de')
[2011-03-29 10:30:40] 
<--- SIP read from UDP:IPAdresse:3072 --->
ACK sip:*4412@IPAdresse SIP/2.0
Via: SIP/2.0/UDP IPAdresse:3072;branch=z9hG4bK-qvij8b98cd8t;rport
From: "Telefone 2" <sip:11@IPAdresse>;tag=ppvuyifpoc
To: <sip:*4412@IPAdresse;user=phone>;tag=as348fbfef
Call-ID: 76de2d3c1a62-qjxv8cx8lrkx
CSeq: 2 ACK
Max-Forwards: 70
Contact: <sip:11@IPAdresse:3072;line=08lr7hc1>;reg-id=1
Content-Length: 0


<------------->
[2011-03-29 10:30:40] --- (9 headers 0 lines) ---
[2011-03-29 10:30:40]     -- <SIP/11-000001ed> Playing 'digits/0.gsm' (language 'de')
[2011-03-29 10:30:41]     -- <SIP/11-000001ed> Playing 'digits/0.gsm' (language 'de')
[2011-03-29 10:30:42] Really destroying SIP dialog 'jyll7oi6@snom' Method: REGISTER
[2011-03-29 10:30:42]     -- <SIP/11-000001ed> Playing 'digits/1.gsm' (language 'de')
[2011-03-29 10:30:43]     -- Executing [*4412@telefone:4] NoOp("SIP/11-000001ed", "Weiterleitung fuer 11 auf 12 aktiviert.") in new stack
[2011-03-29 10:30:43]     -- Executing [*4412@telefone:5] Hangup("SIP/11-000001ed", "") in new stack
[2011-03-29 10:30:43]   == Spawn extension (telefone, *4412, 5) exited non-zero on 'SIP/11-000001ed'
[2011-03-29 10:30:43] Scheduling destruction of SIP dialog '75521e2d3b1a62-qjxv8cx8lrkx' in 6400 ms (Method: ACK)
[2011-03-29 10:30:43] set_destination: Parsing <sip:11@IPAdresse:3072;line=08lr7hc1> for address/port to send to
[2011-03-29 10:30:43] set_destination: set destination to IPAdresse, port 3072
[2011-03-29 10:30:43] Reliably Transmitting (NAT) to IPAdresse:3072:


deaktivieren


Code:
<------------>
[2011-03-29 10:42:33]     -- Executing [44@telefone:1] Answer("SIP/11-000001f5", "") in new stack
[2011-03-29 10:42:33] Audio is at IpAdresse port 10106
[2011-03-29 10:42:33] Adding codec 0x8 (alaw) to SDP
[2011-03-29 10:42:33] Adding codec 0x4 (ulaw) to SDP
[2011-03-29 10:42:33] Adding codec 0x2 (gsm) to SDP
[2011-03-29 10:42:33] Adding non-codec 0x1 (telephone-event) to SDP
[2011-03-29 10:42:33] 
<--- Reliably Transmitting (NAT) to IpAdresse:3072 --->

<------------->
[2011-03-29 10:42:34] --- (9 headers 0 lines) ---
[2011-03-29 10:42:34]     -- Executing [44@telefone:2] DBdel("SIP/11-000001f5", "CF/11") in new stack
[2011-03-29 10:42:34]     -- DBdel: family=CF, key=11
[2011-03-29 10:42:34]     -- DBdel: Error deleting key from database.
[2011-03-29 10:42:34]     -- Executing [44@telefone:3] Playback("SIP/11-000001f5", "auth-thankyou") in new stack
[2011-03-29 10:42:34]     -- <SIP/11-000001f5> Playing 'auth-thankyou.gsm' (language 'de')
[2011-03-29 10:42:34] 
<--- SIP read from UDP:IPAdresse:3072 --->
ACK sip:44@IPAdresse SIP/2.0
Via: SIP/2.0/UDP IPAdresse:3072;branch=z9hG4bK-62suw4kes2bm;rport
From: "Telefone 2" <sip:11@IPAdresse>;tag=u0yehmigyo
To: <sip:44@IPAdresse;user=phone>;tag=as09e611c5
Call-ID: 44e12d3c5a80-03onx9wogck4
CSeq: 2 ACK
Max-Forwards: 70
Contact: <sip:11@IPAdresse:3072;line=08lr7hc1>;reg-id=1
Content-Length: 0

<------------->
[2011-03-29 10:42:34] --- (9 headers 0 lines) ---
[2011-03-29 10:42:34]     -- Executing [44@telefone:4] NoOp("SIP/11-000001f5", "Weiterleitung fuer 11 deaktiviert.") in new stack
[2011-03-29 10:42:34]     -- Executing [44@telefone:5] Hangup("SIP/11-000001f5", "") in new stack
[2011-03-29 10:42:34]   == Spawn extension (telefone, 44, 5) exited non-zero on 'SIP/11-000001f5'
[2011-03-29 10:42:34] Scheduling destruction of SIP dialog '44e12d3c5a80-03onx9wogck4' in 6400 ms (Method: ACK)
[2011-03-29 10:42:34] set_destination: Parsing <sip:11@IpAdresse:3072;line=08lr7hc1> for address/port to send to
[2011-03-29 10:42:34] set_destination: set destination to IPAdresse, port 3072
[2011-03-29 10:42:34] Reliably Transmitting (NAT) to IPAdresse:3072:
BYE sip:11@IPAdresse:3072;line=08lr7hc1 SIP/2.0
Via: SIP/2.0/UDP IPAdresseAst:5060;branch=z9hG4bK72b0ad43;rport
Max-Forwards: 70


und jetzt wenn ich die 11 anrufe

Code:
<------------>
[2011-03-29 10:51:27]     -- Executing [*11@telefone:1] Dial("SIP/13-000001f7", "SIP/11,90,rtT") in new stack
[2011-03-29 10:51:27]   == Using SIP RTP CoS mark 5
[2011-03-29 10:51:27] Audio is at IPAdresse port 10036
[2011-03-29 10:51:27] Adding codec 0x8 (alaw) to SDP
[2011-03-29 10:51:27] Adding codec 0x4 (ulaw) to SDP
[2011-03-29 10:51:27] Adding codec 0x2 (gsm) to SDP
[2011-03-29 10:51:27] Adding non-codec 0x1 (telephone-event) to SDP
[2011-03-29 10:51:27] Reliably Transmitting (NAT) to IPAdresse:3072:
INVITE sip:11@IPAdresse:3072;line=08lr7hc1 SIP/2.0
Via: SIP/2.0/UDP IPAdresse:5060;branch=z9hG4bK4c65389f;rport
Max-Forwards: 70
From: "Telefon" <sip:13@IPAdresse>;tag=as2cb60095
To: <sip:11@IPAdresse:3072;line=08lr7hc1>
Contact: <sip:13@IPAdresse>
Call-ID: 0ea633652248c916320cfe9d65cf5519@IPAdresse
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.2.13
Date: Tue, 29 Mar 2011 08:51:27 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 282

v=0
o=root 80101341 80101341 IN IP4 IPAdresse
s=Asterisk PBX 1.6.2.13
c=IN IP4 IPAdresse
t=0 0
m=audio 10036 RTP/AVP 8 0 3 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

---
[2011-03-29 10:51:27]     -- Called 11
[2011-03-29 10:51:27] 
<--- Transmitting (NAT) to IPAdresse:3063 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP IPAdresse:3063;branch=z9hG4bK-8jbovm;received=IPAdresse;rport=3063
From: "TElefon" <sip:13@IPAdresse>;tag=jau40d
To: "*11" <sip:*11@IpAdresse;user=phone>;tag=as43fccb94
Call-ID: 3bk2wl4jty
CSeq: 4762 INVITE
Server: Asterisk PBX 1.6.2.13
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:*11@IPAdresse>
Content-Length: 0

Bedanke mich im voraus

astdb11
 
Zuletzt bearbeitet:
Hallo,

eine Warnung habe ich noch.

Code:
WARNING[1216] pbx.c: Context 'telefone' tries to include nonexistent context 'callforward'


astdb11
 
Schau Dir den Context [from-extern] in den beiden Beispiel noch mal an, das ist der entscheidende Teil den Du anstelle eines Makros verwenden könntest. Es spricht natürlich nichts gegen ein Makro.
 
Hallo,

ich weiß nicht was ich falsch mache, es kommt einfach nichts durch.


meine extensions.conf
Code:
[werk3]
include=> telefone
include=> forward
include=> from 


[forward]
exten => _*2X.,1,Answer()
exten => _*2X.,n,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:3})
exten => _*2X.,n,Playback(vm-saved)
exten => _*2X.,n,SayDigits(${EXTEN:3})
exten => _*2X.,n,NoOp(Weiterleitung fuer ${CALLERID(num)} auf ${EXTEN:3} aktiviert.)
exten => _*2X.,n,Hangup()

exten => *2,1,Answer()
exten => *2,n,DBdel(CF/${CALLERID(num)})
exten => *2,n,Playback(call-fwd-cancelled)
exten => *2,n,NoOp(Weiterleitung fuer ${CALLERID(num)} deaktiviert.)
exten => *2,n,Hangup()

exten => _X.,1,NoOp(Anruf von ${CALLERID(num)} fuer ${EXTEN})
exten => _X.,n,GotoIf($[foo${DB(CFIM/${EXTEN})} != foo]?normal:forward)
exten => _X.,n(normal),Dial(SIP/${EXTEN},120)
exten => _X.,n(forward),NoOp(Anruf fuer ${EXTEN} wird verbunden zu ${DB(CFIM/${EXTEN})})
exten => _X.,n,Dial(SIP/${DB(CFIM/${EXTEN})})
exten => _X.,n,VoiceMail(${EXTEN},u)


[from]
exten=> _X.,1,Dial(SIP/${EXTEN}@lala)

bedanke mich im voraus


astdb11
 
Vielleicht liegt's daran, dass ich blond bin... aber irgendwie verstehe ich nicht, was Du da zusammenbastelst.

Ungetestet und ohne Gewähr für Tipfehler:
Code:
[werk3]
include=>telefone
include=>forward
include=>dialout

[forward]
exten => _*2X.,1,Answer()
exten => _*2X.,n,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:2})
exten => _*2X.,n,Playback(vm-saved)
exten => _*2X.,n,SayDigits(${EXTEN:2})
exten => _*2X.,n,NoOp(Weiterleitung fuer ${CALLERID(num)} auf ${EXTEN:2} aktiviert.)
exten => _*2X.,n,Hangup()

exten => *2,1,Answer()
exten => *2,n,DBdel(CFIM/${CALLERID(num)})
exten => *2,n,Playback(call-fwd-cancelled)
exten => *2,n,NoOp(Weiterleitung fuer ${CALLERID(num)} deaktiviert.)
exten => *2,n,Hangup()

[dialout]
exten=> _XX.,1,Dial(SIP/${EXTEN}@lalala)

[telefone]
exten=> *10,1,Dial(SIP/11&SIP/12&SIP/13,20,rtT)
exten=> *10,n,VoiceMail(${EXTEN:1},u)
exten=> *10,n,Hangup()

exten => _*1Z,1,NoOp(Anruf von ${CALLERID(num)} fuer ${EXTEN:1})
exten => _*1Z,n,GotoIf($["${DB(CFIM/${EXTEN:1})}"=""]?normal:forward)
exten => _*1Z,n(normal),Dial(SIP/${EXTEN:1},20,rtT)
exten => _*1Z,n,Goto(vm)
exten => _*1Z,n(forward),NoOp(Anruf fuer ${EXTEN:1} wird verbunden zu ${DB(CFIM/${EXTEN:1})})
exten => _*1Z,n,Dial(SIP/${DB(CFIM/${EXTEN:1})})
exten => _*1Z,n(vm),VoiceMail(${EXTEN:1},u)
exten => _*1Z,n,Hangup()

Falls Du Dich mit dem Makro leichter tust, dann nimm das. Das Makro macht aber im Grunde nichts anderes, nur halt universeller.

Wenn Du CLI Ausgaben postest, dann bitte ohne sip debug.
 
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.