summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-10-08 12:39:34 +0000
committerBenny Prijono <bennylp@teluu.com>2006-10-08 12:39:34 +0000
commit36413704c1ff24a8e38e0fcf47c9a9c87621e71a (patch)
tree4393a2f84da0f02f8b1374b0e3ff29d4dce50fb1 /pjsip-apps
parentb1cdeda73284f461f15c68468369baf7556cb0e3 (diff)
Major addition to support DNS SRV resolution in PJSIP:
- added DNS asynchronous/caching resolver engine in PJLIB-UTIL (resolver.[hc]) - modified SIP resolver (sip_resolve.c) to properly perform DNS SRV/A resolution when DNS resolution is enabled. - added dns_test.c in PJSIP-TEST for testing the SIP resolver. - added nameserver configuration in PJSUA-LIB - added "--nameserver" option in PJSUA. - updated project/Makefiles and doxygen documentation. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@753 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index e3d9a33c..268eb502 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -126,6 +126,8 @@ static void usage(void)
puts (" (Hint: the IP may be the public IP of the NAT/router)");
puts (" --no-tcp Disable TCP transport.");
puts (" --no-udp Disable UDP transport.");
+ puts (" --nameserver=NS Add the specified nameserver to enable SRV resolution");
+ puts (" This option can be specified multiple times.");
puts (" --outbound=url Set the URL of global outbound proxy server");
puts (" May be specified multiple times");
puts (" --use-stun1=host[:port]");
@@ -276,7 +278,7 @@ static pj_status_t parse_args(int argc, char *argv[],
OPT_LOCAL_PORT, OPT_IP_ADDR, OPT_PROXY, OPT_OUTBOUND_PROXY,
OPT_REGISTRAR, OPT_REG_TIMEOUT, OPT_PUBLISH, OPT_ID, OPT_CONTACT,
OPT_REALM, OPT_USERNAME, OPT_PASSWORD,
- OPT_USE_STUN1, OPT_USE_STUN2,
+ OPT_NAMESERVER, OPT_USE_STUN1, OPT_USE_STUN2,
OPT_ADD_BUDDY, OPT_OFFER_X_MS_MSG, OPT_NO_PRESENCE,
OPT_AUTO_ANSWER, OPT_AUTO_HANGUP, OPT_AUTO_PLAY, OPT_AUTO_LOOP,
OPT_AUTO_CONF, OPT_CLOCK_RATE,
@@ -309,6 +311,7 @@ static pj_status_t parse_args(int argc, char *argv[],
{ "realm", 1, 0, OPT_REALM},
{ "username", 1, 0, OPT_USERNAME},
{ "password", 1, 0, OPT_PASSWORD},
+ { "nameserver", 1, 0, OPT_NAMESERVER},
{ "use-stun1", 1, 0, OPT_USE_STUN1},
{ "use-stun2", 1, 0, OPT_USE_STUN2},
{ "add-buddy", 1, 0, OPT_ADD_BUDDY},
@@ -549,6 +552,14 @@ static pj_status_t parse_args(int argc, char *argv[],
cur_acc->cred_count++;
break;
+ case OPT_NAMESERVER: /* nameserver */
+ cfg->cfg.nameserver[cfg->cfg.nameserver_count++] = pj_str(pj_optarg);
+ if (cfg->cfg.nameserver_count > PJ_ARRAY_SIZE(cfg->cfg.nameserver)) {
+ PJ_LOG(1,(THIS_FILE, "Error: too many nameservers"));
+ return PJ_ETOOMANY;
+ }
+ break;
+
case OPT_USE_STUN1: /* STUN server 1 */
p = pj_ansi_strchr(pj_optarg, ':');
if (p) {