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