[asterisk-dev] RTCP port always bound to 0.0.0.0?
Johansson Olle E
olle at voop.com
Mon Sep 18 01:03:12 MST 2006
15 sep 2006 kl. 15.34 skrev Tony Mountifield:
> I was just looking at the open ports on one of my Asterisk systems
> that uses a SIP-based ITSP (IP addresses changed):
Doesn't it depend on the address you give for SIP in sip.conf?
/O
>
> [root at aster1 modules]# netstat -nap | grep asterisk
> tcp 0 0 127.0.0.1:5038
> 0.0.0.0:* LISTEN 19239/asterisk
> tcp 0 0 127.0.0.1:5038
> 127.0.0.1:38203 ESTABLISHED 19239/asterisk
> tcp 0 0 127.0.0.1:5038
> 127.0.0.1:41982 ESTABLISHED 19239/asterisk
> udp 0 0 123.45.678.9:14248
> 0.0.0.0:* 19239/asterisk
> udp 0 0 0.0.0.0:14249
> 0.0.0.0:* 19239/asterisk
> udp 0 0 123.45.678.9:12082
> 0.0.0.0:* 19239/asterisk
> udp 0 0 0.0.0.0:12083
> 0.0.0.0:* 19239/asterisk
> udp 0 0 123.45.678.9:5060
> 0.0.0.0:* 19239/asterisk
> udp 0 432 123.45.678.9:17488
> 0.0.0.0:* 19239/asterisk
> udp 0 0 0.0.0.0:17489
> 0.0.0.0:* 19239/asterisk
> udp 0 0 123.45.678.9:4569
> 0.0.0.0:* 19239/asterisk
> unix 2 [ ACC ] STREAM LISTENING 1222807 19239/
> asterisk /var/run/asterisk.ctl
> unix 3 [ ] STREAM CONNECTED 1586871 19239/
> asterisk
> [root at aster1 modules]#
>
> I noticed the pairs of ports, which I guessed to be RTP and RTCP
> ports.
> The three pairs corresponded to three SIP channels being open:
>
> [root at aster1 modules]# rasterisk -x 'show channels'
> Channel Location State Application(Data)
> SIP/194.54.172.1-086 ssp000059 at meetntalk: Up MeetMe(mmp000059|
> diMswRTY)
> SIP/194.54.172.1-086 ssp000059 at meetntalk: Up MeetMe(mmp000059|
> diMswRTY)
> Zap/pseudo-636396412 s at default:1 Rsrvd (None)
> Zap/pseudo-338724309 s at default:1 Rsrvd (None)
> SIP/194.54.172.1-086 smp000059 at meetntalk: Up MeetMe(mmp000059|
> aAdiMsRTS(5)U
> 5 active channels
> 3 active calls
> Verbosity is at least 5
> -- Remote UNIX connection
> [root at aster1 modules]#
>
> I wondered why the second port of each pair was bound to 0.0.0.0
> instead of
> to the local IP address, so I looked in rtp.c at
> ast_rtp_new_with_bindaddr().
> The local address of the RTCP socket doesn't get set anywhere.
> Should it?
>
> I would be inclined to change this code:
>
> /* Must be an even port number by RTP spec */
> rtp->us.sin_port = htons(x);
> rtp->us.sin_addr = addr;
> /* If there's rtcp, initialize it as well. */
> if (rtp->rtcp)
> rtp->rtcp->us.sin_port = htons(x + 1);
>
> to this:
>
> /* Must be an even port number by RTP spec */
> rtp->us.sin_port = htons(x);
> rtp->us.sin_addr = addr;
> /* If there's rtcp, initialize it as well. */
> if (rtp->rtcp) {
> rtp->rtcp->us.sin_port = htons(x + 1);
> rtp->rtcp->us.sin_addr = addr;
> }
>
> Is there a reason not to?
>
> Cheers
> Tony
> --
> Tony Mountifield
> Work: tony at softins.co.uk - http://www.softins.co.uk
> Play: tony at mountifield.org - http://tony.mountifield.org
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
---
Olle E. Johansson * Asterisk Evangelist, developer * VOOP A/S
olle at voop.com
More information about the asterisk-dev
mailing list