Variablen nach "Muster" schneiden

baschdieh

Mitglied
Mitglied seit
15 Sep 2005
Beiträge
416
Punkte für Reaktionen
0
Punkte
0
Hi,

kann ich mittels Asterisk folgendes im Dialplan realisieren?:

Anruf von Asterisk "A":
Code:
exten => _X.,1,Dial(sip/4969${CALLERID}*{EXTEN}@asteriskb)
Sprich 4969XXXXX*4930XXXX wird an asteriskb gesendet

Asterisk "B":
-> Nimmt nun die kompletten Stellen BIS zum ersten "Sternchen" und legt sie in die Variable $Callerid
-> Nimmt den rest NACH dem "Sternchen" und legt sie in die Variable $exten

Beispiel:
Code:
exten => _X.,1,set(CALLERID(num)=${CALLERID (von Asterisk A)})
exten => _X.,2,dial(sip/${EXTEN (von Asterisk A}@uplink)

Szenario: Wir haben ein Asterisk-Server in der Firma, dieser ist mit einem weiteren, externen gekoppelt (Asterisk B). Unser VoIP-Carrier der am Asterisk "B" hängt, erwartet eine Rufnummer in der Variable $CALLERID zur Übertragung der Rufnummer.
Irgendwie muss ich es hinbekommen, die "individuelle" Rufnummer von Asterisk "A" nach "B" in diese Variable zu schieben, damit die Rufnummer nach extern übermittelt wird.

Jemand eine Idee?

Danke
 
sollte gehen - hast du es schon probiert?
 
Dein vorhaben sollte auf Asterisk B wie folgt funktionieren:

Code:
exten => _X.,1,set(CALLERID(num)=${CUT(EXTEN,*,1)})
exten => _X.,2,set(MYDEST=${CUT(EXTEN,*,2)})
exten => _X.,3,Dial(SIP/$MYDEST@uplink)

Erklärung:
Du sendest von A ${CALLERID}*{$EXTEN} an B
B splittet die übertragene Rufnummer (bei B jetzt komplett in der Channelvariable $EXTEN) in die zu übermittelnde CALLERID (der 1. Teilstring bis zum *) und die eigentlich zu wählende Rufnummer (der 2. Teilstring nach dem *), letzteere wird in MYDEST abgelegt.
Anschließend wird der Call zu MYDEST aufgebaut.
 
Wenn Du einen Feldtrenner benutzt dann schau Dir die application CUT an. Damit geht das auftrennen bequem.
 
super - genauso wollte ich das, vielen dank!
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
247,939
Beiträge
2,277,267
Mitglieder
377,021
Neuestes Mitglied
T58W-Nutzer