r3275 - in trunk: libminisip/source/subsystem_signaling/sip libmsip libmsip/include libmsip/include/libmsip

erik at minisip.org erik at minisip.org
Wed May 9 21:23:35 CEST 2007


Author: erik
Date: 2007-05-09 21:23:34 +0200 (Wed, 09 May 2007)
New Revision: 3275

Modified:
   trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx
   trunk/libmsip/Makefile.am
   trunk/libmsip/include/Makefile.am
   trunk/libmsip/include/libmsip/SipHeader.h
Log:

 * Added the "Allow" header to 405 responses (should fix regression test
   6002).



Modified: trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx
===================================================================
--- trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx	2007-05-09 15:19:15 UTC (rev 3274)
+++ trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx	2007-05-09 19:23:34 UTC (rev 3275)
@@ -34,6 +34,7 @@
 #include<libmsip/SipHeaderFrom.h>
 #include<libmsip/SipHeaderTo.h>
 #include<libmsip/SipHeaderAcceptContact.h>
+#include<libmsip/SipHeaderAllow.h>
 #include<libmsip/SipMessage.h>
 #include<libmsip/SipMessageContentIM.h>
 #include<libmsip/SipRequest.h>
@@ -307,6 +308,10 @@
 		MRef<SipResponse*> resp =
 			new SipResponse(branch, statusCode, reasonPhrase,
 					*req);
+
+		if (statusCode==405)
+			resp->addHeader(new SipHeader(new SipHeaderValueAllow("INVITE,MESSAGE,BYE,ACK,OPTIONS,PRACK") ));
+
 		SipSMCommand cmd( *resp, SipSMCommand::dialog_layer,
 				  SipSMCommand::transaction_layer );
 		// Send responses directly to the transport layer bypassing
@@ -565,24 +570,10 @@
 		id->unlock();
 	}
 
-#ifdef DEBUG_OUTPUT
-        cerr << "Before new mediaSession" << endl;
-#endif
-	MRef<Session *> mediaSession = 
-		mediaHandler->createSession( /*securityConfig*/ id );
-#ifdef DEBUG_OUTPUT
-        cerr << "After new mediaSession" << endl;
-#endif
+	MRef<Session *> mediaSession = mediaHandler->createSession( id );
 	
 	MRef<SipDialog*> voipCall = new SipDialogVoipClient(sipStack, id, phoneconf, mediaSession); 
-
-#ifdef DEBUG_OUTPUT
-	cerr << "Before addDialog" << endl;
-#endif	
-	/*dialogContainer*/sipStack->addDialog(voipCall);
-#ifdef DEBUG_OUTPUT
-	cerr << "After addDialog" << endl;
-#endif
+	sipStack->addDialog(voipCall);
 	CommandString inv(voipCall->getCallId(), SipCommandString::invite, user);
 #ifdef ENABLE_TS
 	ts.save( TMP );
@@ -590,13 +581,7 @@
 	
         SipSMCommand c(SipSMCommand(inv, SipSMCommand::dialog_layer, SipSMCommand::dialog_layer)); //TODO: send directly to dialog instead
 	
-#ifdef DEBUG_OUTPUT
-        cerr << "Before handleCommand" << endl;
-#endif
 	sipStack->handleCommand(c);
-#ifdef DEBUG_OUTPUT
-        cerr << "After handleCommand" << endl;
-#endif
 	
 	mediaSession->setCallId( voipCall->getCallId() );
 

Modified: trunk/libmsip/Makefile.am
===================================================================
--- trunk/libmsip/Makefile.am	2007-05-09 15:19:15 UTC (rev 3274)
+++ trunk/libmsip/Makefile.am	2007-05-09 19:23:34 UTC (rev 3275)
@@ -51,6 +51,7 @@
 		     source/dialogs/SipDialogManagement.cxx \
 		     source/headers/SipHeader.cxx \
 		     source/headers/SipHeaderAccept.cxx \
+                     source/headers/SipHeaderAllow.cxx \
                      source/headers/SipHeaderAllowEvents.cxx \
                      source/headers/SipHeaderAuthorization.cxx \
                      source/headers/SipHeaderCSeq.cxx \

Modified: trunk/libmsip/include/Makefile.am
===================================================================
--- trunk/libmsip/include/Makefile.am	2007-05-09 15:19:15 UTC (rev 3274)
+++ trunk/libmsip/include/Makefile.am	2007-05-09 19:23:34 UTC (rev 3275)
@@ -3,6 +3,7 @@
                      libmsip/SipUtils.h \
                      libmsip/SipTimers.h \
                      libmsip/SipHeaderAccept.h \
+                     libmsip/SipHeaderAllow.h \
                      libmsip/SipHeaderAllowEvents.h \
 		     libmsip/SipHeaderAcceptContact.h \
                      libmsip/SipHeaderAuthorization.h \

Modified: trunk/libmsip/include/libmsip/SipHeader.h
===================================================================
--- trunk/libmsip/include/libmsip/SipHeader.h	2007-05-09 15:19:15 UTC (rev 3274)
+++ trunk/libmsip/include/libmsip/SipHeader.h	2007-05-09 19:23:34 UTC (rev 3275)
@@ -79,6 +79,7 @@
 #define SIP_HEADER_TYPE_RSEQ			30
 #define SIP_HEADER_TYPE_ALLOWEVENTS		31
 #define SIP_HEADER_TYPE_SUBSCRIPTIONSTATE	32
+#define SIP_HEADER_TYPE_ALLOW			33
 
 class SipHeaderValue;
 



More information about the Minisip-devel mailing list