Я пытаюсь изучить Asterisk, следуя Полное руководство. Я пытаюсь добиться следующего:
Расширения
..каждый с подсказками, чтобы на моих IP-телефонах отображались индикаторы занятости.
Кажется, я могу звонить на работу нормально, но как только я пытаюсь получить подсказки, я больше не могу звонить (так что звонки или подсказки работают, а не то и другое вместе!). Когда пытаюсь позвонить, получаю такое сообщение:
[14 октября, 15:25:51] УВЕДОМЛЕНИЕ [3262] [C-0000000a]: chan_sip.c: 25545 handle_request_invite: вызов с «7001» (192.168.8.129:5160) на добавочный номер «7002» отклонен, поскольку добавочный номер не найден в контексте "LocalSets".
Дополнительная отладочная информация
ubuntupbx * CLI> dialplan show 7003 @ LocalSets
[Контекст "LocalSets", созданный "pbx_config"]
'7003' => подсказка: SIP / 7003 [pbx_config]- = 1 добавочный номер (1 приоритет) в 1 контексте. знак равно
ubuntupbx * CLI> dialplan show 7002 @ LocalSets
[Контекст "LocalSets", созданный "pbx_config"]
'7002' => подсказка: SIP / 7002 [pbx_config]- = 1 добавочный номер (1 приоритет) в 1 контексте. знак равно
Мой конфиг выглядит следующим образом:
sip.conf
[general]
localnet=192.168.8.0/255.255.255.0
context=unauthenticated
allowguest=no
srvlookup=yes
callcounter=yes
limitonpeers=yes
[office-phone](!)
type=friend
context=LocalSets
busylevel=1
host=dynamic
dtmfmode=auto
subscribecontext=LocalSets
allowsubscribe=yes
disallow=all
allow=g722
allow=ulaw
allow=alaw
[7001](office-phone)
secret=123
[7002](office-phone)
secret=456
[7003](office-phone)
secret=789
extension.conf
[LocalSets]
exten => 7001,hint,SIP/7001
exten => 7002,hint,SIP/7002
exten => 7003,hint,SIP/7003
exten => 200,1,Answer()
same => n,Playback(hello-world)
same => n,Hangup()
exten => 600,1,Answer()
same => n,ConfBridge(1234)
Если я удалю формулировку «подсказка» и заменю ее на «1», вызов работает, а подсказка - нет.
Я пробовал работать с включенной отладкой, но вижу только то же сообщение с дополнительной информацией (IP-адреса и т. Д.). Я уверен, что это школьная ошибка, но я не могу ее исправить. Кто-нибудь может помочь?
Я использую Ubuntu 16.04 Server LTS, работаю Asterisk 13.1.0 ~ dfsg-1.1ubuntu4 устанавливается через apt-get.
Контекст подсказки должен быть отдельным контекстом, это основная причина, по которой вы получаете подсказки или Dial
и не то и другое одновременно. Таким образом, помимо наличия обычного внутреннего контекста для голосовых вызовов, вы должны создать отдельный контекст подсказки, и именно последний вы должны упомянуть в subscribecontext
.
подобно
[local-ext]
exten => _7XXX,1,Dial(SIP/${EXTEN})
[hints]
exten => _X.,hint,Custom:DND${EXTEN}&SIP/${EXTEN}
или что угодно.