Я хочу выполнить скрипт при завершении вызова, поэтому я создал собственный контекст в extensions_custom.conf, как показано ниже:
[coscon]
exten => **5,1,NoOp()
same => n,Answer()
exten => h,1,System(/usr/local/src/myscript.php)
проблема в том, что расширение h после зависания в этом контексте вообще не выполняется. любой совет?
Обновлять
позвольте мне уточнить это. в файле extensions_custom.conf я включаю контекст coscon. это контекст extensions_custom.conf:
[from-internal-custom]
exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234
exten => 1234,2,Hangup()
exten => h,1,Hangup()
include => coscon
[coscon]
exten => **5,1,NoOp()
same => n,Answer()
exten => h,1,System(/usr/local/src/myscript.php)
Теперь, когда я вызываю **5 с софтфона, это вывод командной строки Astrisk:
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [**5@from-internal:1] NoOp("SIP/102-00000035", "") in new stack
-- Executing [**5@from-internal:2] Answer("SIP/102-00000035", "") in new stack
-- Executing [**5@from-internal:3] Pickup("SIP/102-00000035","5&5@PICKUPMARK") in new stack
[2017-06-13 21:10:39] NOTICE[10676][C-00000035]: app_directed_pickup.c:302 pickup_exec: No target channel found for 5@from-internal.
[2017-06-13 21:10:39] NOTICE[10676][C-00000035]: app_directed_pickup.c:302 pickup_exec: No target channel found for 5@PICKUPMARK.
-- Executing [**5@from-internal:4] Hangup("SIP/102-00000035", "") in new stack
== Spawn extension (from-internal, **5, 4) exited non-zero on 'SIP/102-00000035'
-- Executing [h@from-internal:1] Hangup("SIP/102-00000035", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/102-00000035'
Я думаю, что расширение h по умолчанию для внутреннего контекста выполняется, но я не знаю, как его переопределить.