r2904 - in trunk: libminisip/source/sip libmsip/include/libmsip libmsip/source libmsip/source/dialogs libmsip/source/headers libmsip/source/messages

mikma at minisip.org mikma at minisip.org
Mon Nov 13 18:47:58 CET 2006


Author: mikma
Date: 2006-11-13 18:47:58 +0100 (Mon, 13 Nov 2006)
New Revision: 2904

Modified:
   trunk/libminisip/source/sip/SipDialogConfVoip.cxx
   trunk/libminisip/source/sip/SipDialogPresenceClient.cxx
   trunk/libminisip/source/sip/SipDialogVoip.cxx
   trunk/libminisip/source/sip/SipDialogVoipClient.cxx
   trunk/libminisip/source/sip/SipDialogVoipServer.cxx
   trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx
   trunk/libmsip/include/libmsip/SipDialogConfig.h
   trunk/libmsip/include/libmsip/SipHeaderContact.h
   trunk/libmsip/include/libmsip/SipRequest.h
   trunk/libmsip/include/libmsip/SipStack.h
   trunk/libmsip/source/SipDialogConfig.cxx
   trunk/libmsip/source/dialogs/SipDialogRegister.cxx
   trunk/libmsip/source/headers/SipHeaderContact.cxx
   trunk/libmsip/source/messages/SipRequest.cxx
Log:
* Change contact uri:s to use SipUri,
  created by SipDialogConfig::getContactUri.


Modified: trunk/libminisip/source/sip/SipDialogConfVoip.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogConfVoip.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogConfVoip.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -999,11 +999,9 @@
 				branch,
 				dialogState.callId,
 				SipUri(dialogState.remoteUri),
-				getDialogConfig()->inherited->externalContactIP,
-				getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-				SipUri(getDialogConfig()->sipIdentity->getSipUri()),
+				getDialogConfig()->sipIdentity->getSipUri(),
+				getDialogConfig()->getContactUri(phoneconf->useSTUN),
 				dialogState.seqNo,
-				getDialogConfig()->inherited->getTransport(),
 				sipStack) ;
 
 	addAuthorizations( inv );

Modified: trunk/libminisip/source/sip/SipDialogPresenceClient.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogPresenceClient.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogPresenceClient.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -146,7 +146,7 @@
 		requestTimeout(timeout, "timerDoSubscribe");
 		
 #ifdef DEBUG_OUTPUT
-		merr << "Subscribed for presence for user "<< toUri->getSipUri.getString()<< end;
+		merr << "Subscribed for presence for user "<< toUri->getSipUri().getString()<< end;
 #endif
 		return true;
 	}else{

Modified: trunk/libminisip/source/sip/SipDialogVoip.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoip.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoip.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -643,10 +643,7 @@
 	ok->getHeaderValueTo()->setParameter("tag",dialogState.localTag);
 	MRef<SipHeaderValue *> contact = 
 		new SipHeaderValueContact( 
-			getDialogConfig()->sipIdentity->getSipUri().getString(),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			"", getDialogConfig()->inherited->getTransport(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			-1); //set expires to -1, we do not use it (only in register)
 	ok->addHeader( new SipHeader(*contact) );
 

Modified: trunk/libminisip/source/sip/SipDialogVoipClient.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoipClient.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoipClient.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -644,11 +644,9 @@
 			branch,
 			dialogState.callId,
 			SipUri(dialogState.remoteUri),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			SipUri(getDialogConfig()->sipIdentity->getSipUri()),
+			getDialogConfig()->sipIdentity->getSipUri(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			dialogState.seqNo,
-			getDialogConfig()->sipIdentity->getSipProxy()->getUri().getTransport(),
 			sipStack ) ;
 
 	addAuthorizations( inv );
@@ -729,10 +727,7 @@
 	
 	MRef<SipHeaderValue *> contact = 
 		new SipHeaderValueContact( 
-			getDialogConfig()->sipIdentity->getSipUri().getString(),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			"", getDialogConfig()->inherited->getTransport(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			-1); //set expires to -1, we do not use it (only in register)
 	ok->addHeader( new SipHeader(*contact) );
 	

Modified: trunk/libminisip/source/sip/SipDialogVoipServer.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoipServer.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoipServer.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -412,10 +412,7 @@
 	
 	MRef<SipHeaderValue *> contact = 
 		new SipHeaderValueContact( 
-			getDialogConfig()->sipIdentity->getSipUri().getString(),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			"", getDialogConfig()->inherited->getTransport(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			-1); //set expires to -1, we do not use it (only in register)
 	ok->addHeader( new SipHeader(*contact) );
 	
@@ -478,10 +475,7 @@
 	
 	MRef<SipHeaderValue *> contact = 
 		new SipHeaderValueContact( 
-			getDialogConfig()->sipIdentity->getSipUri().getString(),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			"", getDialogConfig()->inherited->getTransport(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			-1); //set expires to -1, we do not use it (only in register)
 	ringing->addHeader( new SipHeader(*contact) );
 

Modified: trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -283,10 +283,7 @@
 	
 	MRef<SipHeaderValue *> contact = 
 		new SipHeaderValueContact( 
-			getDialogConfig()->sipIdentity->getSipUri().getString(),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			"", getDialogConfig()->inherited->getTransport(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			-1); //set expires to -1, we do not use it (only in register)
 	ok->addHeader( new SipHeader(*contact) );
 	
@@ -315,10 +312,7 @@
 	
 	MRef<SipHeaderValue *> contact = 
 		new SipHeaderValueContact( 
-			getDialogConfig()->sipIdentity->getSipUri().getString(),
-			getDialogConfig()->inherited->externalContactIP,
-			getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
-			"", getDialogConfig()->inherited->getTransport(),
+			getDialogConfig()->getContactUri(phoneconf->useSTUN),
 			-1); //set expires to -1, we do not use it (only in register)
 	progress->addHeader( new SipHeader(*contact) );
 

Modified: trunk/libmsip/include/libmsip/SipDialogConfig.h
===================================================================
--- trunk/libmsip/include/libmsip/SipDialogConfig.h	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipDialogConfig.h	2006-11-13 17:47:58 UTC (rev 2904)
@@ -303,6 +303,7 @@
 		void useIdentity( MRef<SipIdentity*> identity,
 				std::string transport="UDP_X");
 
+		SipUri getContactUri(bool useStun) const;
 };
 
 #endif

Modified: trunk/libmsip/include/libmsip/SipHeaderContact.h
===================================================================
--- trunk/libmsip/include/libmsip/SipHeaderContact.h	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipHeaderContact.h	2006-11-13 17:47:58 UTC (rev 2904)
@@ -51,11 +51,7 @@
 		
 //		SipHeaderValueContact();
 		SipHeaderValueContact(const std::string &build_from);
-		SipHeaderValueContact(const std::string &username, 
-				const std::string &ip, 
-				int32_t port, 
-				const std::string &usertype="phone", 
-				const std::string &transport="",
+		SipHeaderValueContact(const SipUri &contactUri,
 				int expires=1000);
 
 		virtual ~SipHeaderValueContact();
@@ -70,7 +66,7 @@
 		/**
 		 * returns the protocol used. This can be either UDP or TCP
 		 */
-		SipUri getUri() const;
+		const SipUri &getUri() const;
 		void setUri(const SipUri &uri);
 		
 		/**

Modified: trunk/libmsip/include/libmsip/SipRequest.h
===================================================================
--- trunk/libmsip/include/libmsip/SipRequest.h	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipRequest.h	2006-11-13 17:47:58 UTC (rev 2904)
@@ -82,11 +82,9 @@
 				const std::string &branch,
 				const std::string &call_id,
 				const SipUri &toUri,
-				const std::string &localAddr,
-				int32_t localSipPort,
 				const SipUri &fromUri,
+				const SipUri &contact,
 				int32_t seq_no,
-				const std::string &transport,
 				MRef<SipStack*> stack
 				);
 
@@ -101,12 +99,9 @@
 		static MRef<SipRequest*> createSipMessageRegister(
 				const std::string &branch,
 				const std::string &call_id,
-				const std::string &domainarg,
-				const std::string &localIp,
-				int32_t sip_listen_port,
 				const SipUri &fromUri,
+				const SipUri &contact,
 				int32_t seq_no,
-				const std::string &transport,
 				int expires);
 
 		static MRef<SipRequest*> createSipMessageSubscribe(

Modified: trunk/libmsip/include/libmsip/SipStack.h
===================================================================
--- trunk/libmsip/include/libmsip/SipStack.h	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipStack.h	2006-11-13 17:47:58 UTC (rev 2904)
@@ -111,16 +111,11 @@
 		int32_t localTlsPort;
 		
 		/**
-		@return the transport set in the SipProxy (means preferred ... )
-		*/
-		std::string getTransport();
-		
-		/**
 		@return the port in use, depending on the transport.
 		@param usesStun (default false), found in SipSoftPhoneConfiguration::useSTUN
 		*/
-		int32_t getLocalSipPort(bool usesStun=false);
-		
+		int32_t getLocalSipPort(bool usesStun=false, const std::string &transport="UDP");
+
 //		MRef<SipIdentity*> sipIdentity;
 	
 		bool autoAnswer;

Modified: trunk/libmsip/source/SipDialogConfig.cxx
===================================================================
--- trunk/libmsip/source/SipDialogConfig.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/SipDialogConfig.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -358,21 +358,8 @@
 
 }
 
-string SipStackConfig::getTransport() {
-	string ret;	//XXX TODO: fixme - should this method exist somewhere else?!
-//	string ret = sipIdentity->getSipProxy()->getTransport();
-	if( ret == "" ) {
-		#ifdef DEBUG_OUTPUT
-		cerr << "SipStackConfig::getTransport(): empty proxy transport ... returning default UDP" << endl;
-		#endif
-		ret = "UDP";
-	}
-	return ret;
-}
-
-int32_t SipStackConfig::getLocalSipPort(bool usesStun) {
+int32_t SipStackConfig::getLocalSipPort(bool usesStun, const string &transport ) {
 	int32_t localSipPort;
-	string transport = getTransport();
 	
 	if(transport=="TCP" || transport=="tcp")
 		localSipPort = localTcpPort;
@@ -413,3 +400,22 @@
 }
 
 
+SipUri SipDialogConfig::getContactUri(bool useStun) const{
+	SipUri contactUri;
+	const SipUri &fromUri = sipIdentity->getSipUri();
+	string transport;
+
+	if( sipIdentity->getSipProxy() )
+		transport = sipIdentity->getSipProxy()->getUri().getTransport();
+	else
+		transport = fromUri.getTransport();
+
+	contactUri.setParams( fromUri.getUserName(),
+			      inherited->externalContactIP,
+			      "",
+			      inherited->getLocalSipPort(useStun, transport));
+	if( transport != "" )
+		contactUri.setTransport( transport );
+
+	return contactUri;
+}

Modified: trunk/libmsip/source/dialogs/SipDialogRegister.cxx
===================================================================
--- trunk/libmsip/source/dialogs/SipDialogRegister.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/dialogs/SipDialogRegister.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -697,12 +697,9 @@
 	MRef<SipRequest*> reg= SipRequest::createSipMessageRegister(
 		branch, 
 		dialogState.callId,
-		getDialogConfig()->sipIdentity->getSipUri().getIp(), //proxy_domain,
-		getDialogConfig()->inherited->externalContactIP,
-		getDialogConfig()->inherited->getLocalSipPort(true), //if udp, use stun
 		getDialogConfig()->sipIdentity->getSipUri(),
+		getDialogConfig()->getContactUri(true), //if udp, use stun
 		dialogState.seqNo,
-		getDialogConfig()->sipIdentity->getSipProxy()->getUri().getTransport(),
 		getDialogConfig()->sipIdentity->getSipProxy()->getRegisterExpires_int()
 		);
 

Modified: trunk/libmsip/source/headers/SipHeaderContact.cxx
===================================================================
--- trunk/libmsip/source/headers/SipHeaderContact.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/headers/SipHeaderContact.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -78,24 +78,17 @@
 #endif
 }
 
-SipHeaderValueContact::SipHeaderValueContact(const string &username, 
-		const string &ip, 
-		int32_t port, 
-		const string &user_type, 
-		const string &transport,
+SipHeaderValueContact::SipHeaderValueContact(const SipUri &contactUri,
 		int expires
 		)
 			:SipHeaderValue(SIP_HEADER_TYPE_CONTACT,sipHeaderValueContactTypeStr)
 {
-	uri.setParams(username,ip,user_type,port);
-	uri.setIp( ip ); //fix the domain part to be the ip address ... not the domain name
+	uri = contactUri;
 	
 	if( expires != -1 )
 		this->setExpires(expires);
 	else this->removeParameter("expires" ); //-1 indicates that the expires is not to be used
 	
-	if (transport!="")
-		uri.setTransport(transport);
 	//merr << "SipHeaderValueContact::getString: username="<< username <<end;
 }
 
@@ -142,7 +135,7 @@
 	return ret;
 } 
 
-SipUri SipHeaderValueContact::getUri() const{
+const SipUri &SipHeaderValueContact::getUri() const{
 	return uri;
 }
 

Modified: trunk/libmsip/source/messages/SipRequest.cxx
===================================================================
--- trunk/libmsip/source/messages/SipRequest.cxx	2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/messages/SipRequest.cxx	2006-11-13 17:47:58 UTC (rev 2904)
@@ -157,28 +157,12 @@
 }
 
 static void addHeaders( MRef<SipRequest*> req,
-		const string &call_id,
-		const SipUri &toUri,
-		const string &localAddr,
-		int32_t localSipPort,
-		const SipUri &fromUri,
-		int32_t seq_no,
-		const string &transport,
+		const SipUri &contact,
 		MRef<SipStack*> stack
 		)
 {
 
-	req->setUri(toUri);
-
-// 	SipUri fromUri(from_tel_no);
-	req->addHeader(new SipHeader( new SipHeaderValueFrom(fromUri) ) );
-
-// 	SipUri toUri(tel_no);
-	req->addHeader(new SipHeader( new SipHeaderValueTo(toUri) ));
-	
-	req->addHeader(new SipHeader(new SipHeaderValueCallID(call_id)) );
-	req->addHeader(new SipHeader(new SipHeaderValueCSeq("INVITE",seq_no)));
-	req->addHeader(new SipHeader(new SipHeaderValueContact(fromUri.getUserName(), localAddr, localSipPort,"",transport)));
+	req->addHeader(new SipHeader(new SipHeaderValueContact(contact)));
 	req->addHeader(new SipHeader(new SipHeaderValueUserAgent(HEADER_USER_AGENT_DEFAULT)));
 	if (stack){
 		req->addHeader(new SipHeader(new SipHeaderValueSupported(stack->getAllSupportedExtensionsStr())));
@@ -188,20 +172,18 @@
 MRef<SipRequest*> SipRequest::createSipMessageInvite(const string &branch,
 							const string &call_id,
 							const SipUri &toUri,
-							const string &localAddr,
-							int32_t localSipPort,
 							const SipUri &fromUri,
+							const SipUri &contact,
 							int32_t seq_no,
-							const string &transport,
 							MRef<SipStack*> stack
                 )
 {
 	MRef<SipRequest*> req = new SipRequest(branch,"INVITE");
-	addHeaders(req, call_id, toUri, 
-			localAddr, localSipPort, 
-			fromUri, seq_no, 
-			transport, stack);
+	req->setUri(toUri);
 
+	req->addDefaultHeaders( fromUri, toUri, "INVITE", seq_no, call_id );
+	addHeaders(req, contact, stack);
+
 	return req;
 }
 
@@ -222,21 +204,18 @@
 
 MRef<SipRequest*> SipRequest::createSipMessageRegister(const string &branch,
 							const string &call_id,
-							const string &domain,
-							const string &localIp,
-							int32_t sip_listen_port,
 							const SipUri &fromUri,
+							const SipUri &contact,
 							int32_t seq_no,
-							const string &transport,
 							int expires)
 {
+	const std::string &domain = fromUri.getIp();
+
 	MRef<SipRequest*> req = new SipRequest(branch, "REGISTER","sip:"+domain);
 
-	req->setUri("sip:" + domain);
-
 	req->addDefaultHeaders(fromUri,fromUri,"REGISTER",seq_no,call_id);
 	 
-	req->addHeader(new SipHeader(new SipHeaderValueContact(fromUri.getUserName(), localIp, sip_listen_port,"",transport, expires)));
+	req->addHeader(new SipHeader(new SipHeaderValueContact(contact, expires)));
 	req->addHeader(new SipHeader(new SipHeaderValueUserAgent(HEADER_USER_AGENT_DEFAULT)));
 	req->setContent(NULL);
 



More information about the Minisip-devel mailing list