Использую pjsip wizard:
- Код: выделить все
[user_contoso](!)
type = wizard
transport = udp-transport
accepts_registrations = yes
sends_registrations = no
accepts_auth = yes
sends_auth = no
has_hint = yes
hint_context = from-contoso
endpoint/context = from-contoso
endpoint/allow_subscribe = yes
endpoint/disallow=all
endpoint/allow = alaw,ulaw
endpoint/direct_media = no
endpoint/device_state_busy_at = 1
endpoint/trust_id_outbound = yes
aor/max_contacts = 1
[200](user_contoso)
hint_exten = 200
inbound_auth/username = 200
inbound_auth/password = XXXX
endpoint/callerid = Иванов <200>
[201](user_contoso)
hint_exten = 201
inbound_auth/username = 201
inbound_auth/password = XXXX
endpoint/callerid = Петров <201>
[202](user_contoso)
hint_exten = 202
inbound_auth/username = 202
inbound_auth/password = XXXX
endpoint/callerid = Сидоров <202>
как видим, тут три абонента и вот такой простейший диалплан с меню:
- Код: выделить все
[from-contoso]
exten = _2XX,1,Dial(PJSIP/${EXTEN},,Tt)
exten => 999,1,Goto(contoso-ivr,start,1)
[contoso-ivr]
exten => start,1,Answer()
same => n,Background(vm-whichbox)
same => n,WaitExten(10)
exten = _2XX,1,Dial(PJSIP/${EXTEN})
exten => i,1,Playback(pbx-invalid)
same => n,Goto(contoso-ivr,start,1)
exten => t,1,Playback(please-try-again)
same => n,Goto(contoso-ivr,start,1)
то есть абоненты могут звонить друг-другу и на голосовое меню по номеру 999
Суть проблемы в следующем: при звонке абонентов дург-другу напрямую по номерам 2ХХ во время звонка гудок присутствует, то есть все ок, а вот если позвонить на голосовое меню по номеру 999, а потом набрать внутренний номер абонента 2ХХ, то ему звонок проходит, но гудков мы не слышим, пока он не возьмет трубку - полная тишина, а в консоле астериска вот такая ошибка:
[Oct 31 11:21:50] WARNING[2242][C-00000035]: channel.c:5772 set_format: Unable to find a codec translation path: (slin) -> (alaw)
[Oct 31 11:21:50] WARNING[2242][C-00000035]: indications.c:140 playtones_alloc: Unable to set 'PJSIP/298-0000005e' to signed linear format (write)
[Oct 31 11:21:50] WARNING[2242][C-00000035]: channel.c:4689 indicate_data_internal: Unable to handle indication 3 for 'PJSIP/298-0000005e
судя по тексту, вроде, что-то с кодеками, но я не могу понять что конкретно, гугл по этим сообщениям ничего вразумительного не дает. Вообще странно, то есть при прямых звонках гудок есть, при наборе через меню - нет.