@alexmyt

Как проиграть сообщение вызываемому абоненту, а не SIP-шлюзу?

Здравствуйте. Имеем Asterisk 13.22.0 (FreePBX 14) в качестве АТС, Cisco2911 с модулями FXO в качестве шлюза в городскую телефонную сеть. Исходящая маршрутизация настроена, звонки ходят.

Поставлена задача проигрывать вызываемым абонентам сообщения о записи звонков. Реализована как добавление опции A(custom/DialogIsRecorded) к транку.

Проблема в том что проигрывание записи начинается после соединения Астериска с циской, а не с абонентом. В результате абонент в лучшем случае слышит часть проигрываемой фразы, в худшем (если поднял турбку совсем не сразу) -вообще ничего.

Мне кажется что ситуация выглядит примерно так: при исходящем звонке Астериск соединяется по протоколу SIP с циской, циска дает в ответ статус SIP 200 OK, и Астериск считает что соединение установлено и начинает проигрывать сообщение. Но Циска в этот момент только начинает набирать номер абонента, поэтому сообщение уходит в пустоту.

Как заставить Астериск проигрывать сообщение после поднятия трубки вызываемым абонентом?

sip.conf
[general]
accept_outofcall_message=yes
auth_message_requests=no
outofcall_message_context=dpma_message_context
faxdetect=no
vmexten=*97
useragent=FPBX-14.0.5.25(13.22.0)
language=ru
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=g726
allow=g722
context=from-sip-external
callerid=Unknown
notifyringing=yes
notifyhold=yes
tos_sip=cs3
tos_audio=ef
tos_video=af41
alwaysauthreject=yes
limitonpeers=yes
progressinband=yes
prematuremedia=no
rtpend=20000
context=from-sip-external
callerid=Unknown
rtpstart=10000
tcpenable=no
callevents=yes
bindport=5060
jbenable=no
checkmwi=10
maxexpiry=3600
minexpiry=60
srvlookup=no
tlsenable=no
allowguest=yes
notifyhold=yes
rtptimeout=30
canreinvite=no
tlsbindaddr=[::]:5061
rtpkeepalive=0
videosupport=no
defaultexpiry=120
notifyringing=yes
maxcallbitrate=384
rtpholdtimeout=300
g726nonstandard=no
registertimeout=20
tlsclientmethod=tlsv1
registerattempts=0
nat=force_rport,comedia
ALLOW_SIP_ANON=no
tlscafile=/etc/pki/tls/certs/ca-bundle.crt
accept_outofcall_message=yes
auth_message_requests=no
outofcall_message_context=dpma_message_context
настройки транка
; это циска-шлюз
[uru-gw1]
disallow=all
host=192.168.0.1
port=5060
type=friend
language=ru
allow=ulaw
allow=alaw
qualify=yes
dtmfmode=rfc2833
context=from-trunk
insecure=port,invite
nat=no
настройки cisco
voice call send-alert
voice call disc-pi-off
!
voice service voip
 ip address trusted list
  ipv4 192.168.0.0 255.255.0.0
 allow-connections sip to sip
 fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
 sip
!
dial-peer voice 1 voip
 description to_asterisk
 huntstop
 preference 2
 destination-pattern 0000.....
 session protocol sipv2
 session target sip-server
 session transport udp
 voice-class sip early-offer forced
 dtmf-relay rtp-nte
!
sip-ua 
 retry invite 3
 retry response 3
 retry bye 3
 retry cancel 3
 retry register 10
 timers trying 1000
 timers register 150
 registrar ipv4:192.168.0.7 expires 65535
 sip-server ipv4:192.168.0.7:5060
  • Вопрос задан
  • 469 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы