Při volání na 3 různá čísla zobrazí vždy pouze první

SW PBX Asterisk, nastavení, konfigurace, rady, návody, zkušenosti.

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod stepos » 19 zář 2013 12:23

Také nefunguje,
píše to v konzoli, čemuž nerozumím, pokud správně chápu, že nemůže najít ten kontext a řádek.

Kód: Vybrat vše
 -- SIP/1-000001c9 Internal Gosub(incoming_spv_hint,s,1(cislo8,1)) start
[Sep 19 12:58:40] ERROR[6353][C-00000127]: app_stack.c:566 gosub_exec: Attempt to reach a non-existent destination for Gosub: (Context:incoming_spv_hint, Extension:s, Priority:1)



Kód: Vybrat vše
[incoming_spv_hint]
exten => _cislo[7-9],1,Set(DEVICE_STATE(Custom:linka${EXTEN:6:3})=INUSE)
exten => _cislo[7-9],n,Return()

[incoming_spv]
exten => _cislo[7-9],1,Set(DEVICE_STATE(Custom:linka${EXTEN:6:3})=RINGING)
exten => _cislo[7-9],2,Set(SPL_LINKA=${EXTEN:6:3})
exten => _cislo[7-9],3,Dial(SIP/1&SIP/3&SIP/4&dahdi/4,60,U(incoming_spv_hint^${EXTEN}^1))
exten => _cislo[7-9],n,Hangup()



;polozeni hovoru
exten=> h,1,Set(DEVICE_STATE(Custom:linka${SPL_LINKA})=NOT_INUSE)
exten => h,n,Set(SPL_LINKA=0)
stepos
 
Příspěvky: 38
Registrován: 28 led 2013 15:57

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod milan.benicek » 19 zář 2013 17:28

Problém bude v tomhle:
stepos píše:(incoming_spv_hint,s,1(cislo8,1))

V závorce u U option se vyrobí nesmysl a extension s v tom kontextu pak skutečně není.

Buď tam máte překlep v kódu nebo je chyba ve vaší verzi asterisku. Už jsme v minulosti na něco podobného také narazili.
milan.benicek
 
Příspěvky: 66
Registrován: 11 led 2013 13:41

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod JardaX » 20 zář 2013 12:16

Jj, parametr U se totiž chová jako interní GoSub - proto je tam v té chybové hlášce následující:
Kód: Vybrat vše
Internal Gosub(incoming_spv_hint,s,1(cislo8,1)) start

Jinak je to ale vážně divný. Jestli jste se tam někde neupsal, tak to vypadá na chybu v Asterisku.

V zásadě totiž můžete použít 3 varianty pro dosažení podobného chování:
  • G - přesune běh programu na context^exten^pri a pokračuje tam
  • M - spustí makro - makro vrací řízení zpět
  • U - spustí interní GoSub - Return v subrutině vrací řízení zpět
Špatně se to hledá, ale úplný formát syntaxe těchto parametrů by měl být (alespoň v posledních verzích asterisku):
Kód: Vybrat vše
U([[context^]exten^]priority[(arg1[^...][^argN])])


Myslím, že to celkem odpovídá tomu, co se vám tam vygenerovalo. Všimněte si závorky s args - myslím, že by mělo jít i v případě BUGu vymyslet formát volání, kterým chybu obejdete a přesto do subrutiny dostanete ${EXTEN} ve formě argumentu ${ARG1}. Např.
Kód: Vybrat vše
...
exten => _cislo[7-9],3,Dial(SIP/1&SIP/3&SIP/4&dahdi/4,60,U(incoming_spv_hint^s^1(${EXTEN:6:3})))
...

[incoming_spv_hint]
exten => s,1,Set(DEVICE_STATE(Custom:linka${ARG1})=INUSE)
exten => s,n,Return()


Jen tak pro zajímavost - jakou máte verzi asterisku?
JardaX
 

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod stepos » 20 zář 2013 12:34

Naše verze je
Asterisk 11.2.1, myslím, že nejnovější.
stepos
 
Příspěvky: 38
Registrován: 28 led 2013 15:57

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod milan.benicek » 20 zář 2013 14:03

Tak to je určitě lepší varianta.

Zkuste to co popisoval JardaX a uvidíte.
milan.benicek
 
Příspěvky: 66
Registrován: 11 led 2013 13:41

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod stepos » 20 zář 2013 15:03

Funguje to, jen to musí být takto
Kód: Vybrat vše
U(incoming_spv_hint^s^1^${EXTEN:6:3})


a pak se načítá až 3. argument -
Kód: Vybrat vše
exten => s,1,Set(DEVICE_STATE(Custom:linka${ARG3})=INUSE)


v navrhovaném zápise to předávalo s - tedy 1. argument.

Díky moc za pomoc
stepos
 
Příspěvky: 38
Registrován: 28 led 2013 15:57


Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod milan.benicek » 20 zář 2013 15:42

Tak sláva!
Ještě se na to podívám, asi je tam opravdu chyba a bude potřeba jít nahlásit.
milan.benicek
 
Příspěvky: 66
Registrován: 11 led 2013 13:41

Re: Při volání na 3 různá čísla zobrazí vždy pouze první

Příspěvekod Návštěvník » 24 led 2014 15:49

Provozuju podobne nestastnou konfiguraci asterisku a resil jsem to jednoduse tim, ze jsem rozpitval INVITE zpravu (pomoci SIP header) a nasel jsem si na jake cislo se skutecne volalo.
Návštěvník
 

Předchozí

Zpět na Asterisk

 


  • { RELATED_TOPICS }
    Odpovědi
    Zobrazení
    Poslední příspěvek
cron