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

sayer/1.4-spce2.6
Stefan Sayer 15 years ago
parent 2927a7be8f
commit 12a1315515

@ -173,7 +173,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)) {
@ -183,7 +183,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))) {

@ -45,6 +45,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))

@ -270,7 +270,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,

Loading…
Cancel
Save