r3207 - trunk/libminisip/source/sip

mikma at minisip.org mikma at minisip.org
Wed Feb 14 17:24:08 CET 2007


Author: mikma
Date: 2007-02-14 17:24:07 +0100 (Wed, 14 Feb 2007)
New Revision: 3207

Modified:
   trunk/libminisip/source/sip/DefaultDialogHandler.cxx
Log:
Add support for isn: and enum: URIs

Modified: trunk/libminisip/source/sip/DefaultDialogHandler.cxx
===================================================================
--- trunk/libminisip/source/sip/DefaultDialogHandler.cxx	2007-02-14 16:22:34 UTC (rev 3206)
+++ trunk/libminisip/source/sip/DefaultDialogHandler.cxx	2007-02-14 16:24:07 UTC (rev 3207)
@@ -27,6 +27,7 @@
 #include<libminisip/sip/DefaultDialogHandler.h>
 
 #include<libmnetutil/NetworkException.h>
+#include<libmnetutil/DnsNaptr.h>
 
 #include<libmsip/SipDialogRegister.h>
 
@@ -498,9 +499,18 @@
 	int startAddr=0;
 	if (user.substr(0,4)=="sip:")
 		startAddr = 4;
-	
-	if (user.substr(0,5)=="sips:")
+	else if (user.substr(0,5)=="sips:")
 		startAddr = 5;
+	else if( user.substr(0, 4) == "isn:"){
+		MRef<DnsNaptrQuery*> query = DnsNaptrQuery::create();
+		if( query->resolveIsn( user.substr( 4 )))
+			user = query->getResult();
+	}
+	else if( user.substr(0, 5) == "enum:" ){
+		MRef<DnsNaptrQuery*> query = DnsNaptrQuery::create();
+		if( query->resolveEnum( user.substr( 5 )))
+			user = query->getResult();
+	}
 
 	bool onlydigits=true;
 	MRef<SipIdentity *> id;



More information about the Minisip-devel mailing list