- Mitglied seit
- 7 Okt 2004
- Beiträge
- 280
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hallo zusammen,
ich habe ein seltsames Problem:
Ein Agi Skript setzt u.a. die Variablen LCR_DIAL sowie LCR_EXTEN.
Der Wert von LCR_DIAL wird auf PSTN, LCR_EXTEN auf die übergebene Telefonnummer mit der vorangestellten Vorwahl des Call by Call Providers gesetzt.
Die Variable LCR_DIAL wird dann doppelt referenziert, d.h. sie liefert den Inhalt der Variablen PSTN. Der NoOp als auch der darauffolgende Dial Befehl zeigen die korrekten Werte an, nur hat anscheinend chan_capi-cm ein Problem damit (V0.6.2).
Zum besseren Verständnis habe ich die entsprechenden Befehle kursiv, jeweils vor die CLI Ausgabe gesetzt.
Ergebnis ist, dass der Call zwar durchgeführt wird, aber der Timeout ignoriert wird. Im Normalfall sähe die letzte Zeile auch so aus:
Irgendwelche Ideen?
Update:
OK, dieses Problem konnte ich lösen, indem ich das Macro folgendermaßen abänderte:
exten => s,n,Set(PSTN='CAPI/g1/${LCR_EXTEN}/bo')
exten => s,n,Dial(${${LCR_DIAL}},30)
Auch wenn ich es nicht verstehe, warum die erste Variante nicht funktioniert.
Dafür hat sich ein neues Problem ergeben:
Ortsgespräche funktionieren, da bekomme ich
Bei einem Ferngespräch jedoch:
Wenn ich die gleiche Nummer ohne Macro wähle geht das.
2. Update
Ist ja schön wenn man seine Probleme selbst lösen kann - das o, also overlap dial scheint das Problem gewesen zu sein. Nur hatte das mit früheren Versionen funktioniert, und beim Ortsgespräch ebenso. Vielleicht kann Armin dazu eine kurze Erklärung liefern.
ich habe ein seltsames Problem:
Ein Agi Skript setzt u.a. die Variablen LCR_DIAL sowie LCR_EXTEN.
Der Wert von LCR_DIAL wird auf PSTN, LCR_EXTEN auf die übergebene Telefonnummer mit der vorangestellten Vorwahl des Call by Call Providers gesetzt.
Die Variable LCR_DIAL wird dann doppelt referenziert, d.h. sie liefert den Inhalt der Variablen PSTN. Der NoOp als auch der darauffolgende Dial Befehl zeigen die korrekten Werte an, nur hat anscheinend chan_capi-cm ein Problem damit (V0.6.2).
Zum besseren Verständnis habe ich die entsprechenden Befehle kursiv, jeweils vor die CLI Ausgabe gesetzt.
Code:
[I]exten => s,n,AGI(lcr.agi|${MACRO_EXTEN}|${NEXT})[/I]
[I]exten => s,n,Set(PSTN='CAPI/g1/${LCR_EXTEN}/bo,30')[/I]
-- Executing Set("Zap/2-1", "PSTN=CAPI/g1/01058xxxxxxx/bo,30") in new stack
[I]exten => s,n,NoOp(${${LCR_DIAL}})[/I]
-- Executing NoOp("Zap/2-1", "CAPI/g1/01058xxxxxxx/bo,30") in new stack
[I]exten => s,n,Dial(${${LCR_DIAL}})[/I]
-- Executing Dial("Zap/2-1", "CAPI/g1/01058xxxxxxx/bo,30") in new stack
Jan 4 13:44:28 WARNING[19459]: chan_capi.c:911 capi_call: Unknown parameter ',' in 'g1/01058xxxxxxx/bo,30', ignoring.
Jan 4 13:44:28 WARNING[19459]: chan_capi.c:911 capi_call: Unknown parameter '1' in 'g1/01058xxxxxxx/bo,30', ignoring.
Jan 4 13:44:28 WARNING[19459]: chan_capi.c:911 capi_call: Unknown parameter '0' in 'g1/01058xxxxxxx/bo,30', ignoring.
-- Called g1/01058xxxxxxx/bo,30
Ergebnis ist, dass der Call zwar durchgeführt wird, aber der Timeout ignoriert wird. Im Normalfall sähe die letzte Zeile auch so aus:
-- Called g1/01058xxxxxxx/bo
Irgendwelche Ideen?
Update:
OK, dieses Problem konnte ich lösen, indem ich das Macro folgendermaßen abänderte:
exten => s,n,Set(PSTN='CAPI/g1/${LCR_EXTEN}/bo')
exten => s,n,Dial(${${LCR_DIAL}},30)
Auch wenn ich es nicht verstehe, warum die erste Variante nicht funktioniert.
Dafür hat sich ein neues Problem ergeben:
Ortsgespräche funktionieren, da bekomme ich
Code:
-- Executing Dial("SIP/123-2923", "CAPI/g1/01058xxxxxxx/bo|30") in new stack
-- Called g1/01058xxxxxxx/bo
-- CAPI/ISDN1/01058xxxxxxx-b is making progress passing it to SIP/123-2923
-- CAPI/ISDN1/01058xxxxxxx-b is proceeding passing it to SIP/123-2923
-- CAPI/ISDN1/01058xxxxxxx-b is ringing
Code:
-- Executing Dial("SIP/123-3b21", "CAPI/g1/010450711xxxxxxx/bo|30") in new stack
-- Called g1/010450711xxxxxxx/bo
Jan 4 17:32:49 ERROR[23740]: chan_capi.c:214 _capi_put_cmsg: CAPI error sending INFO_REQ ID=12593 #0x0032 LEN=0035
Controller/PLCI/NCCI = 0x101
CalledPartyNumber = <80>010450711xxxxxxx
AdditionalInfo
BChannelinformation = default
Keypadfacility = default
Useruserdata = default
Facilitydataarray = default
(NCCI=0x101) (error=0x1101)
-- CAPI/ISDN1/010450711xxxxxxx-c is making progress passing it to SIP/123-3b21
2. Update
Ist ja schön wenn man seine Probleme selbst lösen kann - das o, also overlap dial scheint das Problem gewesen zu sein. Nur hatte das mit früheren Versionen funktioniert, und beim Ortsgespräch ebenso. Vielleicht kann Armin dazu eine kurze Erklärung liefern.
Zuletzt bearbeitet: