Hi Stefan,
wouldn't it be better to accept FR without To-Tag only in error replies?
-Raphael.
[EMAIL PROTECTED] wrote:
> Author: sayer
> Date: 2008-04-30 15:49:42 +0200 (Wed, 30 Apr 2008)
> New Revision: 919
>
> Added:
> trunk/core/plug-in/sipctrl/etc/
> trunk/core/plug-in/sipctrl/etc/sipctrl.conf
> Modified:
> trunk/core/plug-in/sipctrl/SipCtrlInterface.cpp
> trunk/core/plug-in/sipctrl/SipCtrlInterface.h
> trunk/core/plug-in/sipctrl/trans_layer.cpp
> Log:
> sipctrl option to accept FR without To-Tag
>
> Modified: trunk/core/plug-in/sipctrl/SipCtrlInterface.cpp
> ===================================================================
> --- trunk/core/plug-in/sipctrl/SipCtrlInterface.cpp 2008-04-30 13:32:21 UTC
> (rev 918)
> +++ trunk/core/plug-in/sipctrl/SipCtrlInterface.cpp 2008-04-30 13:49:42 UTC
> (rev 919)
> @@ -36,6 +36,7 @@
>
> string SipCtrlInterfaceFactory::outbound_host = "";
> unsigned int SipCtrlInterfaceFactory::outbound_port = 0;
> +bool SipCtrlInterfaceFactory::accept_fr_without_totag = false;
>
> AmCtrlInterface* SipCtrlInterfaceFactory::instance()
> {
> @@ -67,6 +68,17 @@
> }
> }
>
> + AmConfigReader cfg;
> + string cfgfile = AmConfig::ModConfigPath + string(MOD_NAME ".conf");
> + if (file_exists(cfgfile) && cfg.loadFile(cfgfile)) {
> + if (cfg.hasParameter("accept_fr_without_totag")) {
> + accept_fr_without_totag =
> + cfg.getParameter("accept_fr_without_totag") == "yes";
> + }
> + } else {
> + DBG("assuming SIP default settings.\n");
> + }
> +
> return 0;
>
> }
>
> Modified: trunk/core/plug-in/sipctrl/SipCtrlInterface.h
> ===================================================================
> --- trunk/core/plug-in/sipctrl/SipCtrlInterface.h 2008-04-30 13:32:21 UTC
> (rev 918)
> +++ trunk/core/plug-in/sipctrl/SipCtrlInterface.h 2008-04-30 13:49:42 UTC
> (rev 919)
> @@ -31,6 +31,8 @@
> static string outbound_host;
> static unsigned int outbound_port;
>
> + static bool accept_fr_without_totag;
> +
> SipCtrlInterfaceFactory(const string& name):
> AmCtrlInterfaceFactory(name) {}
> ~SipCtrlInterfaceFactory() {}
>
>
> Added: trunk/core/plug-in/sipctrl/etc/sipctrl.conf
> ===================================================================
> --- trunk/core/plug-in/sipctrl/etc/sipctrl.conf 2008-04-30 13:32:21 UTC
> (rev 918)
> +++ trunk/core/plug-in/sipctrl/etc/sipctrl.conf 2008-04-30 13:49:42 UTC
> (rev 919)
> @@ -0,0 +1,8 @@
> +#
> +# Some finer grained SIP stack settings.
> +#
> +
> +#
> +# Accept final replies without To-tag? [yes|no]
> +#
> +#accept_fr_without_totag=yes
>
> Modified: trunk/core/plug-in/sipctrl/trans_layer.cpp
> ===================================================================
> --- trunk/core/plug-in/sipctrl/trans_layer.cpp 2008-04-30 13:32:21 UTC
> (rev 918)
> +++ trunk/core/plug-in/sipctrl/trans_layer.cpp 2008-04-30 13:49:42 UTC
> (rev 919)
> @@ -857,7 +857,8 @@
> to_tag = ((sip_from_to*)msg->to->p)->tag;
> if((t->msg->u.request->method != sip_request::CANCEL) && !to_tag.len){
> DBG("To-tag missing in final reply\n");
> - return -1;
> + if (!SipCtrlInterfaceFactory::accept_fr_without_totag)
> + return -1;
> }
>
> if(t->msg->u.request->method == sip_request::INVITE){
>
> _______________________________________________
> Semsdev mailing list
> [email protected]
> http://lists.iptel.org/mailman/listinfo/semsdev
>
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev