[prev in list] [next in list] [prev in thread] [next in thread] 

List:       semsdev
Subject:    [Semsdev] git:master: b/f: support compact Supported header (k:)
From:       Stefan Sayer <stefan.sayer () googlemail ! com>
Date:       2011-10-31 22:48:23
Message-ID: 20111031224823.89186EF8074 () rimmer ! ryngle ! com
[Download RAW message or body]

Module: sems
Branch: master
Commit: 47a646df4a9266a1893efbc311c6826258b4ad2e
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=47a646df4a9266a1893efbc311c6826258b4ad2e


Author: Stefan Sayer <stefan.sayer@frafos.com>
Committer: Stefan Sayer <stefan.sayer@frafos.com>
Date:   Mon Oct 31 23:46:22 2011 +0100

b/f: support compact Supported header (k:)

---

 core/AmSipDialog.cpp                        |    4 ++--
 core/AmSipHeaders.h                         |    1 +
 core/plug-in/session_timer/SessionTimer.cpp |    3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp
index 93c7130..6e84494 100644
--- a/core/AmSipDialog.cpp
+++ b/core/AmSipDialog.cpp
@@ -441,7 +441,7 @@ int AmSipDialog::rel100OnRequestIn(const AmSipRequest& req)
   if (req.method == SIP_METH_INVITE) {
     switch(reliable_1xx) {
       case REL100_SUPPORTED: /* if support is on, enforce if asked by UAC */
-        if (key_in_list(getHeader(req.hdrs, SIP_HDR_SUPPORTED), 
+        if (key_in_list(getHeader(req.hdrs, SIP_HDR_SUPPORTED, \
SIP_HDR_SUPPORTED_COMPACT),  SIP_EXT_100REL) ||
             key_in_list(getHeader(req.hdrs, SIP_HDR_REQUIRE), 
               SIP_EXT_100REL)) {
@@ -451,7 +451,7 @@ int AmSipDialog::rel100OnRequestIn(const AmSipRequest& req)
         break;
 
       case REL100_REQUIRE: /* if support is required, reject if UAC doesn't */
-        if (! (key_in_list(getHeader(req.hdrs,SIP_HDR_SUPPORTED), 
+        if (! (key_in_list(getHeader(req.hdrs,SIP_HDR_SUPPORTED, \
SIP_HDR_SUPPORTED_COMPACT),  SIP_EXT_100REL) ||
             key_in_list(getHeader(req.hdrs, SIP_HDR_REQUIRE), 
               SIP_EXT_100REL))) {
diff --git a/core/AmSipHeaders.h b/core/AmSipHeaders.h
index c9df723..85dc2e5 100644
--- a/core/AmSipHeaders.h
+++ b/core/AmSipHeaders.h
@@ -49,6 +49,7 @@
 #define SIP_EXT_100REL          "100rel"
 
 #define SIP_HDR_SESSION_EXPIRES_COMPACT "x"
+#define SIP_HDR_SUPPORTED_COMPACT "k"
 
 #define SIP_IS_200_CLASS(code)  ((code >= 200) && (code < 300))
 
diff --git a/core/plug-in/session_timer/SessionTimer.cpp \
b/core/plug-in/session_timer/SessionTimer.cpp index 3fd3b0d..c88a85c 100644
--- a/core/plug-in/session_timer/SessionTimer.cpp
+++ b/core/plug-in/session_timer/SessionTimer.cpp
@@ -267,7 +267,8 @@ void SessionTimer::updateTimer(AmSession* s, const AmSipRequest& \
req) {  if((req.method == SIP_METH_INVITE)||(req.method == SIP_METH_UPDATE)){
     
     remote_timer_aware = 
-      key_in_list(getHeader(req.hdrs, SIP_HDR_SUPPORTED), TIMER_OPTION_TAG, true);
+      key_in_list(getHeader(req.hdrs, SIP_HDR_SUPPORTED, SIP_HDR_SUPPORTED_COMPACT),
+		  TIMER_OPTION_TAG, true);
     
     // determine session interval
     string sess_expires_hdr = getHeader(req.hdrs, SIP_HDR_SESSION_EXPIRES,

_______________________________________________
Semsdev mailing list
Semsdev@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/semsdev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic