summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2013-06-21 05:12:58 +0000
committerLiong Sauw Ming <ming@teluu.com>2013-06-21 05:12:58 +0000
commit785f04d8e79d1fed579c8bdb2523646ceb00cbaf (patch)
treec610b7c16e0199bbeba1d7b7ebafb52f4b5ca79b /pjsip/src/pjsua-lib
parent1229122bc17bb86b6a10e043aa3505715b797347 (diff)
Closed #1682: Configurable local port range for UDP media transport
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4539 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index d1b39a11..31112652 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -282,6 +282,12 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med,
/* Loop retry to bind RTP and RTCP sockets. */
for (i=0; i<RTP_RETRY; ++i, next_rtp_port += 2) {
+ if (cfg->port > 0 && cfg->port_range > 0 &&
+ next_rtp_port > cfg->port + cfg->port_range)
+ {
+ next_rtp_port = (pj_uint16_t)cfg->port;
+ }
+
/* Create RTP socket. */
status = pj_sock_socket(af, pj_SOCK_DGRAM(), 0, &sock[0]);
if (status != PJ_SUCCESS) {