Module: sems Branch: master Commit: 794683e8a805c51758105b29df257f1f4b07caa5 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=794683e8a805c51758105b29df257f1f4b07caa5
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Fri Jan 3 13:59:18 2014 +0100 core: add Referred-By to AmSipDialog::refer() --- core/AmSipDialog.cpp | 6 +++++- core/AmSipDialog.h | 3 ++- core/sip/defs.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp index f932574..5c87792 100644 --- a/core/AmSipDialog.cpp +++ b/core/AmSipDialog.cpp @@ -625,12 +625,16 @@ int AmSipDialog::update(const AmMimeBody* body, } int AmSipDialog::refer(const string& refer_to, - int expires) + int expires, + const string& referred_by) { if(getStatus() == Connected) { string hdrs = SIP_HDR_COLSP(SIP_HDR_REFER_TO) + refer_to + CRLF; if (expires>=0) hdrs+= SIP_HDR_COLSP(SIP_HDR_EXPIRES) + int2str(expires) + CRLF; + if (!referred_by.empty()) + hdrs+= SIP_HDR_COLSP(SIP_HDR_REFERRED_BY) + referred_by + CRLF; + return sendRequest("REFER", NULL, hdrs); } else { diff --git a/core/AmSipDialog.h b/core/AmSipDialog.h index c5ff4b0..42a9770 100644 --- a/core/AmSipDialog.h +++ b/core/AmSipDialog.h @@ -159,7 +159,8 @@ protected: /** @return 0 on success */ int refer(const string& refer_to, - int expires = -1); + int expires = -1, + const string& referred_by = ""); /** @return 0 on success */ int transfer(const string& target); diff --git a/core/sip/defs.h b/core/sip/defs.h index 4feb273..31e03c3 100644 --- a/core/sip/defs.h +++ b/core/sip/defs.h @@ -36,6 +36,7 @@ #define SIP_HDR_P_ASSERTED_IDENTITY "P-Asserted-Identity" #define SIP_HDR_P_PREFERRED_IDENTITY "P-Preferred-Identity" #define SIP_HDR_REFER_TO "Refer-To" +#define SIP_HDR_REFERRED_BY "Referred-By" #define SIP_HDR_EXPIRES "Expires" #define SIP_HDR_MIN_EXPIRES "Min-Expires" #define SIP_HDR_SESSION_EXPIRES "Session-Expires" _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
