After 15 minutes, calls to my Flowroute endpoint stop receiving audio; the calls don’t drop, there’s just no incoming RTP packets. I’ve confirmed this with wireshark, incoming RTP packets stop, but outgoing RTP packets continue.
Flowroute tech support has told me that “Session Media Timers” are responsible for this and will time out after 15 minutes unless they are re-upped by INVITEs (I suspect that UPDATEs may work as well). I think that calling PJSIP_SEND_SESSION_REFRESH() periodically should accomplish this, but I don’t know enough about calling plans to accomplish this. Would someone point me in the right direction?
I’m using Asterisk 20.5.2 on an embedded device (but I don’t think that’s the issue).
;extensions.conf
[internal]
exten = _X.,1,NoOp()
same = n,Dial(PJSIP/${EXTEN}@Flowroute,60)
same = n,Answer()
same = n,Hangup()
;pjsip.conf
[Flowroute]
type=endpoint
transport=udp
timers=yes
timers_sess_expires=6000
context=external
disallow=all
allow=g729,ulaw,alaw
direct_media=yes ; doesnt take, perhaps GigasetC470IP ?
from_user=*mynumber*
;from_domain=eu-central-fra.sip.flowroute.com
outbound_auth=Flowroute
aors=Flowroute
[Flowroute]
type=registration
transport=udp
outbound_auth=Flowroute
server_uri=sip:eu-central-fra.sip.flowroute.com:5060
client_uri=sip:*FlowrouteAccont*@eu-central-fra.sip.flowroute.com:5060
auth_rejection_permanent=no
contact_user=*FlowrouteAccount*
[Flowroute]
type=auth
auth_type=userpass
username=*FlowrouteAccount*
password=*FlowroutePassword*
[Flowroute]
type=aor
max_contacts=3
contact=sip:eu-central-fra.sip.flowroute.com
[GigasetC470IP]
type=endpoint
context=internal
disallow=all
allow=g729,ulaw,alaw
auth=GigasetC470IP
aors=GigasetC470IP
[GigasetC470IP]
type=auth
auth_type=userpass
username=GigasetC470IP
password=*GigasetC470IPpassword*
[GigasetC470IP]
type=aor
max_contacts=3
[GigasetC470IP]
type=identify
endpoint=GigasetC470IP
match=*ExternalIP*
[udp]
type=transport
protocol=udp
bind=0.0.0.0
[wss]
type=transport
protocol=wss
bind=0.0.0.0