Здравствуйте. Имеем 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
настройки ciscovoice 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