Parallel Laeuten serialisieren

kolbi

Neuer User
Mitglied seit
15 Mai 2007
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo!

Ich habe gerade Asterisk fuer mich entdeckt und natuerlich gleich ein paar Fragen, mit denen ich hier reinplatzten moechte :)

Ich habe mir in den Kopf gesetzt, dasz bei ankommenen Anrufen mehrere SIP Clients laeuten sollte - das ist ja problemlos mit der Dial Applikation zu realisieren.
Allerdings haette ich gerne, dasz ich je nach ankommenden Anruf eine Nebenstelle "bevorzugt" laeutet. Ich habe mir das so gedacht, dasz wenn ein Anruf direkt auf den Asterisk fuer "sip:ich@..." reinkommt, zuerst meine Nebenstelle 30 10 Sekunden lang laeutet, und wenn da nicht abgehoben wird die anderen dann zu laeuten beginnen.
Meine schnelle Ad-Hoc Loesung sieht so aus:
Code:
 ; direkt (sip:xxx@...) ankommende anrufe
  [direkt_ankommend]
  exten => ich,n,Set(NEBENSTELLE=30)
  exten => ich,n,Goto(ALLGEMEIN,1)
  
  exten => weranders,n,Set(NEBENSTELLE=31)
  exten => weranders,n,Goto(ALLGEMEIN,1)
  
  ; allgemeine abarbeitung
  exten => ALLGEMEIN,1,Dial(SIP/${NEBENSTELLE},10,r)
  exten => ALLGEMEIN,n,GotoIf($["${DIALEDTIME}"="ANSWER"]?ANSWERED,1))
  exten => ALLGEMEIN,n,GotoIf($["${DIALEDTIME}"="CANCEL"]?ANSWERED,1))
  exten => ALLGEMEIN,n,GotoIf($["${DIALEDTIME}"="DONTCALL"]?ANSWERED,1))
  exten => ALLGEMEIN,n,GotoIf($["${DIALEDTIME}"="TORTURE"]?ANSWERED,1))
  exten => ALLGEMEIN,n,Dial(SIP/30&SIP/31&SIP/32&SIP/33,30,r)
  exten => ALLGEMEIN,n,Goto(RES-${DIALSTATUS},1)
  ; besetzt
  exten => RES-BUSY,1,Answer()
  exten => RES-BUSY,n,Wait(1)
  exten => RES-BUSY,n,VoiceMail(${NEBENSTELLE},b)
  exten => RES-BUSY,n,Hangup()
  ; hebt nicht ab
  exten => RES-NOANSWER,1,Answer()
  exten => RES-NOANSWER,n,Wait(1)
  exten => RES-NOANSWER,n,VoiceMail(${NEBENSTELLE},u)
  exten => RES-NOANSWER,n,Hangup()
  ; nicht eingeloggt
  exten => RES-CHANUNAVAIL,1,Answer()
  exten => RES-CHANUNAVAIL,n,Wait(1)
  exten => RES-CHANUNAVAIL,n,VoiceMail(${NEBENSTELLE},u)
  exten => RES-CHANUNAVAIL,n,Hangup()
  ; beantwortet
  exten => ANSWERED,1,Hangup()

Das unschoene daran, ist, das man dann als "bevorzugte" Nebenstelle zwei mal angerufen wird.
Ich suche also nach einer Moeglichkeit, nach dem "ALLGEMEIN,1" Teil die anderen Nebenstellen zusaetzlich auch laeuten zu lassen, und die ${NEBENSTELLE} einfach weiterlaeuten zu lassen, aber ich fuerchte, mir fehlen einfach die richtigen Stichworte zur Suche...

lg
 
Such mal nach LOCAL channels.

DIAL(LOCAL/123@context&LOCAL/234@context)

Bei 123 dann z.B. ein WAIT() und dann erst DIAL.
 
Thomas007 schrieb:
Such mal nach LOCAL channels.

Danke - das passt wunderbar!
Damit wird der kontext auch ein bisserl uebersichtlicher, weil ich mir die ganzen Abfragen fuer die "bevorzugte" Nebenstelle sparen kann...

lg
 
Kostenlos!

Statistik des Forums

Themen
247,207
Beiträge
2,263,772
Mitglieder
375,692
Neuestes Mitglied
greypeter1