res_rtp_asterisk: Clearing the remote RTCP address causes RTCP failures
authorKevin Harwell <kharwell@digium.com>
Mon, 1 May 2017 18:04:16 +0000 (13:04 -0500)
committerKevin Harwell <kharwell@digium.com>
Wed, 3 May 2017 17:29:22 +0000 (12:29 -0500)
commit008e25def96eaf58ccaef2276eb0cb36ff4b67bf
tree4a7476e4bb6c83b027c8bf351b61ad2b65347eb2
parentbdec0852b96a9475a013f88949ad162511fd8404
res_rtp_asterisk: Clearing the remote RTCP address causes RTCP failures

When a call gets put on hold RTP is temporarily stopped and Asterisk was
setting the remote RTCP address to NULL. Then when RTCP data was received
from the remote endpoint, Asterisk would be missing this information when
publishing the rtcp_message stasis event. Consequently, message subscribers
(in this case res_hep_rtcp) trying to parse the "from" field output the
following error:

"ast_sockaddr_split_hostport: Port missing in (null)"

This patch makes it so the remote RTCP address is no longer set to NULL when
stopping RTP. There was only one place that appeared to check if the remote
RTCP address was NULL as a way to tell if RTCP was running. This patch added
an additional check on the RTCP schedid for that case to make sure RTCP was
truly not running.

ASTERISK-26860 #close

Change-Id: I6be200fb20db647e48b5138ea4b81dfa7962974b
res/res_rtp_asterisk.c