Uploaded image for project: 'FreeSWITCH'
  1. FreeSWITCH
  2. FS-9629

Add isfocus to the Contact Header of All Response Messages

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Not A Bug
    • Affects Version/s: 1.4.20, 1.6.10
    • Fix Version/s: None
    • Component/s: mod_sofia
    • Security Level: public
    • Labels:
      None
    • Environment:
      CentOS 7.2.1511
    • CPU Architecture:
      x86-64
    • Kernel:
      Linux
    • Userland:
      GNU/Linux
    • Distribution:
      CentOS
    • Distribution Version:
      CentOS 7
    • Compiler:
      gcc
    • FreeSWITCH GIT Revision:
      367848e07ea6ed8fba78dcb6899578d10d6176a3
    • GIT Master Revision hash::
      5d6ab013d15afd3398ca1212a5ea5504487d8e4b
    • FSS Support Agreement Customer Number and Company name:
      Harris

      Description

      This patch adds an if statement at the beginning of sofia_recieve_message function within mod_sofia. The if statement adds isfocus to the end of the contact header of all response messages if a channel variable "rfc-4579-conference" is set to true.

      The patch is needed to satisfy requirements derived from RFC 4579 where it states in section 4.2:
      "In session establishment, a focus MUST include the 'isfocus' feature
         parameter in the Contact header field unless the focus wishes to hide
         the fact that it is a focus."

        Activity

        Hide
        mikej Mike Jerris added a comment -
        Please review our documentation on how to contribute code and create Pull Requests. https://freeswitch.org/confluence/display/FREESWITCH/Contributing+Code
        Show
        mikej Mike Jerris added a comment - Please review our documentation on how to contribute code and create Pull Requests. https://freeswitch.org/confluence/display/FREESWITCH/Contributing+Code
        Hide
        brian Brian West added a comment -
        Your patch isn't needed.

        <action application="answer" data="is_conference"/>

            if (switch_channel_test_flag(channel, CF_CONFERENCE)) {
                tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact);
            }

        This already works.
        Show
        brian Brian West added a comment - Your patch isn't needed. <action application="answer" data="is_conference"/>     if (switch_channel_test_flag(channel, CF_CONFERENCE)) {         tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact);     } This already works.

          People

          • Assignee:
            mikej Mike Jerris
            Reporter:
            mdavis41 Miles Davis
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development