[reSIProcate]support outbound proxy in dum test program(basicRegister.cxx)

jiangjinke at 163.com jiangjinke at 163.com
Fri Nov 4 01:49:08 CST 2005


Hi all,

I've added an outbound proxy support to the test 
resip/dum/test/basicRegister.cxx,
Just a nasty code. Hope it's useful to someone. I use this just for removing 
the registered
contact on some proxy, and it's useful when the domain name is a fake domain 
name.

the patch is applied as a text version below and as an attachment.

Regards,

Sam Jiang


-------------------------patch begin--------------------
Index: resip/dum/test/basicRegister.cxx

===================================================================

--- resip/dum/test/basicRegister.cxx 锛堜慨璁㈢増 5603锛?
+++ resip/dum/test/basicRegister.cxx 锛堝伐浣滄嫹璐濓級

@@ -9,6 +9,8 @@

 #include "rutil/Subsystem.hxx"
 #include "resip/dum/KeepAliveManager.hxx"

+#include <sstream>
+
 #ifdef WIN32
 #include "resip/stack/WinSecurity.hxx"
 #endif
@@ -63,8 +65,9 @@

 main (int argc, char** argv)
 {

-   if ( argc < 3 ) {
-      cout << "usage: " << argv[0] << " sip:user passwd\n";
+   if ( argc < 4 ) {
+      cout << "usage: " << argv[0] << " sip:user passwd realm 
[outboundhost] [outboundport]\n";
+
       return 0;
    }

@@ -72,7 +75,27 @@


    NameAddr userAor(argv[1]);
    Data passwd(argv[2]);
+   Data realm(argv[3]);

+   Data outboundhost("");
+   int outboundport = 5060;
+
+   if(argc == 5) {
+    outboundhost+=argv[4];
+   }
+   else {
+       if(argc == 6) {
+     outboundhost+=argv[4];
+           string temp(argv[5]);
+           istringstream src(temp);
+           src >> outboundport;
+       }
+   }
+
+   InfoLog ( << "from: " << userAor << endl);
+   InfoLog ( << "passwd: " << passwd << ", realm: " << realm << endl);
+   InfoLog ( << "outboundhost:outboundport "<< outboundhost << ":" << 
outboundport << endl);
+
 #ifdef USE_SSL
 #ifdef WIN32
    Security* security = new WinSecurity;
@@ -110,10 +133,21 @@

    profile->setDigestCredential(userAor.uri().host(),
                                      userAor.uri().user(),
                                      passwd);
+   if(outboundhost.size() != 0)
+   {
+        InfoLog ( << "setting outbound proxy" << endl );
+        Uri outboundproxy;

+        outboundproxy.host() = outboundhost;
+        outboundproxy.port() = outboundport;
+        profile->setOutboundProxy(outboundproxy);
+   }
+
    SipMessage & regMessage = clientDum.makeRegistration(userAor);
-   NameAddr contact;
+//   NameAddr contact;

+   regMessage.header(h_Expires).value() = 60;
+
    clientDum.send( regMessage );
 -----------------patch end-------------------- 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: basicRegister.patch
Type: application/octet-stream
Size: 2052 bytes
Desc: not available
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20051104/77212438/attachment.obj>


More information about the resiprocate-devel mailing list