zweite Nummer verzögert anrufen

pbx-stefan

Neuer User
Mitglied seit
26 Jan 2006
Beiträge
128
Punkte für Reaktionen
0
Punkte
0
Hi,

ich würde gerne ein Dial absetzen und 8 Sekunden später ein zweites Dial zu einem anderen Ziel.
Wie gehabt möchte ich dann den Call dem durchstellen, der zuerst abnimmt.

PHP:
exten => 123456,1,Dial(${ziel1}&${ziel2}&${ziel3},60)
würde ja alle drei Ziele annähernd gleichzeitig anwählen. Wer zuerst abhebt, bekommt den Call, nach 60 Sekunden geht es weiter im Dialplan.
Nun möchte ich aber in etwa

PHP:
exten => 123456,1,Dial(${ziel1},68)
exten => 123456,n,Wait(8)
exten => 123456,n,Dial(${ziel2}&${ziel3},60)
haben, nur das in diesem Beispiel ziel1 für 68 Sekunden angerufen wird, dann 8 Sekunden Pause entsteht und dann Ziel2 und 3 angerufen werden....
Ziel1 soll aber weiter klingeln bis irgendwo drangegangen wird....

Wofür das ganze?

Ich habe einen Vodafone Zuhause Tarif. In der Homezone bin ich auf einer Festnetznummer erreichbar. Meine Asterisk steht hinter einem ISDN Telefon Flat Tarif. Ein umleiten zum Handy ist also ökonomischer, wenn ich auf der Festnetznummer ereicht werde. Bin ich nicht um Zuhausebereich, bekommt Asterisk ein congestion... würde also die anderen Nummern weiter klingeln lassen... somit auch Ziel3, mein Handy.

Bin ich kompliziert?
Wie löst Ihr das?

Gruß Stefan
 

onkel_fritz

Neuer User
Mitglied seit
10 Apr 2006
Beiträge
110
Punkte für Reaktionen
0
Punkte
0
pbx-stefan schrieb:
ich würde gerne ein Dial absetzen und 8 Sekunden später ein zweites Dial zu einem anderen Ziel.
Wie gehabt möchte ich dann den Call dem durchstellen, der zuerst abnimmt.
hi

warum nicht einfach zweimal auf ziel1 wählen?

exten => 56,1,Dial(${ziel1},8 )
exten => 56,n,Dial(${ziel1}&${ziel2}&${ziel3},60)

da könntest du theoretisch das problem haben,
dass du genau nach 8 sekunden abhebst und somit
den anruf ned kriegst; aber doch eher unwahscheinlich!
 

Thomas007

Aktives Mitglied
Mitglied seit
18 Sep 2005
Beiträge
1,455
Punkte für Reaktionen
0
Punkte
0
Schau nach local channels

Mit local channels kannst Du an mehreren Clients mit unterschiedlichen Klingelbeginn und Klingeldauer signalisieren.
Der erste Client der abnimmt gewinnt.
 

pbx-stefan

Neuer User
Mitglied seit
26 Jan 2006
Beiträge
128
Punkte für Reaktionen
0
Punkte
0
@onkel_fritz: danke, hatte ich auch schon dran gedacht, aber das Problem ist, dass im zweiten Schritt zeil1 und ziel3 gleichzeitig angewählt werden würden. Da Ziel1 vom VF Netz (naja eigentlich von BT) zum Handy geroutet wird (wenn ich im Zuhausebereich bin), kommt dieser Ruf immer nach dem Ruf zu ziel3 (der direkte Ruf zum Handy) am Handy an. Das wiederum kostet mehr Geld. Ich müsste also in Deinem Beispiel schneller als 8 Sekunden sein... nein eigentlich schneller, als die 8 Sekunden minus der Zeit, die das Netz braucht um beim Handy zu klingeln, um den vergünstigten Call zu erwischen.

@Thomas: habe ich mir die local channels angesehen, werde daraus aber nicht schlau.
ich würde also einen context erstellen, in dem ich die Ziele per Dial und entsprechender Verzögerung anrufe:
PHP:
[mylocalcontext]
exten=>handy,1,wait(10)
exten=>handy,n,dial(${handynummer},60,r)
exten=>handy_ueber_zuhausenummer,1,dial(${zuhausenummer},60,r)
Und in meinem outgoing context schreibe ich
PHP:
exten => 123456,1,Dial(local/[email protected],60,r)
exten => 123456,1n,Dial(local/[email protected],60,r)
???

Danke.
Gruß Stefan
 

Thomas007

Aktives Mitglied
Mitglied seit
18 Sep 2005
Beiträge
1,455
Punkte für Reaktionen
0
Punkte
0
Es gibt DIAL(SIP/210&SIP/215).

oder LOCAL channels:
ein einfaches Beispiel

[intern]

exten => 300,1,DIAL(LOCAL/[email protected]&LOCAL/[email protected])

exten => 210,1,Wait(10)
exten => 210,n,DIAL(SIP/210)

exten => 215,1,Wait(5)
exten => 215,n,DIAL(SIP/215)

Wählst Du 300 an werden zwei neue Channels gebildet. In diesen Channels werden im aktuellen Context wieder die extensions (210 und 215) gesucht und ausgeführt.

Auch hier gilt die Regel, der erste der abnimmt gewinnt.
 

onkel_fritz

Neuer User
Mitglied seit
10 Apr 2006
Beiträge
110
Punkte für Reaktionen
0
Punkte
0
Thomas007 schrieb:
Es gibt DIAL(SIP/210&SIP/215).

oder LOCAL channels:
ein einfaches Beispiel

[intern]

exten => 300,1,DIAL(LOCAL/[email protected]&LOCAL/[email protected])

exten => 210,1,Wait(10)
exten => 210,n,DIAL(SIP/210)

exten => 215,1,Wait(5)
exten => 215,n,DIAL(SIP/215)

Wählst Du 300 an werden zwei neue Channels gebildet. In diesen Channels werden im aktuellen Context wieder die extensions (210 und 215) gesucht und ausgeführt.

Auch hier gilt die Regel, der erste der abnimmt gewinnt.
das ist sehr interessant; offensichtlich sowas wie ein fork :eek:

@ pbx-stefan

natürlich kannst du hier das erste wait weglassen

Code:
exten => 300,1,DIAL(LOCAL/[email protected]&LOCAL/[email protected])

;exten => 210,1,Wait(10)
exten => 210,1,DIAL(SIP/210)
; das hier wird erst 8 sekunden später aktiv
exten => 215,1,Wait(8)
exten => 215,n,DIAL(SIP/215)
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,915
Beiträge
2,028,128
Mitglieder
351,072
Neuestes Mitglied
vonTinzenberg