CALLFILENAME "+" schneidet ab

Kip86

Neuer User
Mitglied seit
23 Sep 2008
Beiträge
84
Punkte für Reaktionen
0
Punkte
0
Hi!

Code:
exten => _X.,1,Set(CALLFILENAME=${CALLERID(num)}-${EXTEN:1}-${STRFTIME(${EPOCH},Europe/Berlin,%Y-%m-%d\,%H-%M-%S)})
exten => _X.,2,Monitor(wav,${CALLFILENAME},m)
D.h. File beginnt mit Nebenstelle und anschließend der angerufenen Nummer.

Wenn die angerufene Nummer mit +49 beginnt, sieht das File so aus:
900--2011-09-09,15-48-41.wav
D.h. er schreibt es nicht rein - warscheinlich weil im Dateinamen kein "+" sein darf. Wie löse ich das am besten?
Und nein, alle "+" in den Kontakten rauslöschen ist keine Lösung.

Danke und LG
Kip
 
wo soll den das +49 stehen, weil ${EXTEN} kann es nicht sein, das match keine +X.
 
Hallo!
Habe mich unklar ausgedrückt, sorry.

${CALLERID(num)} ist die eigene Nummer
${EXTEN:1} ist die angerufene Nummer

Beispiel eigene Nummer 900 angerufene Nummer 03123456:
900-3123456-2011-09-09,15-48-41.wav

Beispiel2 eigene Nummer 900 angerufene Nummer +493123456:
900--2011-09-09,15-48-41.wav
 
aber
exten => _X.,1,.....

matched kein +49, bist du sicher das ist der richtige context?
 
Ach so meinst du.
Ja, bin ich ganz sicher - funktioniert auch. Ich dachte "_X." matcht alles?

"","900","+49###","sipphone902","""Hdy"" <900>","SIP/902-bc070588","SIP/av-out-00d4b0c8","Dial","SIP/+49###@av-out,,r","2011-09-10 14:53:35",,"2011-09-10 14:53:37",2,0,"NO ANSWER","DOCUMENTATION","1315666415.1442",""
 
_X. matched alles was mit zahl beginnt - so sollte es zumindest sein.
Fuege doch einfach mal als zweite zeile noop(${CALLFILENAME}) ein
dann kannst ja mal in der cli mit verbose 4 schaun, da siehst du auch was er macht
 
Hi!

Ok du hattest völlig recht, ich war im falschen Context, sorry!

Aber es sieht nicht wirklich anders aus ...
Code:
[902]
exten => _.,1,Set(CALLFILENAME=${CALLERID(num)}-${EXTEN}-${STRFTIME(${EPOCH},Europe/Berlin,%Y-%m-%d\,%H-%M-%S)})
exten => _.,n,noop(${CALLFILENAME}
exten => _.,n,Monitor(wav,${CALLFILENAME},m) 
exten => _.,n,Dial(SIP/${EXTEN}@av-out,,r)


Executing [h@sipphone902:1] Set("SIP/902-b80094e8", "CALLFILENAME=900-h-2011-09-12\,19-31-33") in new stack
-- Executing [h@sipphone902:2] NoOp("SIP/902-b80094e8", "900-h-2011-09-12\,19-31-33") in new stack
-- Executing [h@sipphone902:3] Monitor("SIP/902-b80094e8", "wav,900-h-2011-09-12\,19-31-33,m") in new stack
-- Executing [h@sipphone902:4] Dial("SIP/902-b80094e8", "SIP/h@av-out,,r") in new stack

Was mich verwundert: "Executing [h" Woher kommt das und was ist das?!
Komischerweise steht das jetzt auch als {EXTEN} im Dateinamen.


Da kommen wir gleich zu einem anderen ur-problem von dem + in der Nummer
[2011-09-12 19:29:54] WARNING[3672]: pbx_config.c:1471 pbx_load_config: The use of '_.' for an extension is stro ngly discouraged and can have unexpected behavior. Please use '_X.' instead at line 117
Aber wie soll ich es sonst matchen? Wie du bereits richtig gesagt hast, das würde nur Nummern matchen, kein "+".

LG
 
exten => _+X.,1,.....
 
Super, danke, konnte es jetzt endlich testen!

Wie löse ich es am einfachsten, dass jetzt auch Nummern mit 0 die selbe Prozedur durchlaufen, ohne dass ich das Ganze kopieren und mit exten "_X" nochmals einfügen muss?

LG
 
exten => _[+0-9]X.,1,
 
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.