A
A
Alexey2019-03-12 10:50:50
Asterisk
Alexey, 2019-03-12 10:50:50

How to play the message to the called subscriber and not to the SIP gateway?

Hello. We have Asterisk 13.22.0 (FreePBX 14) as a PBX, Cisco2911 with FXO modules as a gateway to the city telephone network. Outgoing routing is configured, calls go.
The task is set to play the call recording messages to the called subscribers. Implemented as adding the A(custom/DialogIsRecorded) option to the trunk.
The problem is that the playback of the record starts after connecting Asterisk to the cisco, and not to the subscriber. As a result, the subscriber, at best, hears part of the phrase being played, at worst (if he did not immediately pick up the turbo) - nothing at all.
It seems to me that the situation looks something like this: during an outgoing call, Asterisk connects via SIP to a cisco, the cisco responds with a SIP 200 OK status, and Asterisk considers that the connection has been established and starts playing the message. But Tsiska at this moment is just starting to dial the subscriber's number, so the message goes into the void.
How to make Asterisk play a message after the called subscriber picks up the handset?

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
trunk settings
; это циска-шлюз
[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 settings
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

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question