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

Call to FS WebRTC Gateway fails when no SDP on invite

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.6.12
    • Fix Version/s: None
    • Component/s: mod_sofia
    • Security Level: public
    • Labels:
      None
    • CPU Architecture:
      x86-64
    • Kernel:
      Linux
    • Userland:
      GNU/Linux
    • Distribution:
      Debian
    • Distribution Version:
      Debian 8 jessie
    • Compiler:
      gcc
    • FreeSWITCH GIT Revision:
      FreeSWITCH Version 1.6.12-20-b91a0a6~64bit (-20-b91a0a6 64bit)
    • GIT Master Revision hash::
      FreeSWITCH Version 1.6.12-20-b91a0a6~64bit (-20-b91a0a6 64bit)

      Description

      I have created a FreeSwitch WebRTC Gateway that connects between SIP Network and Verto clients.

      When i make a call from SIP Network with a INVITE without SDP, the call fails when the verto client answers.

      On Sofia profile I activated the next configuration
      <param name="enable-3pcc" value="proxy"/>

      I have this scenario working on FreeSwitch version 1.6.8, but with version 1.6.12 is not working.

      I simulated this issue using sipp and i put the scenario used on attach (uac-inv-without-sdp.xml).

      I also have attached the next files:
      freeswitch.xml.fsxml -> Freeswitch Configuration
      freeswitch.xml_curl_sofia.conf.xml -> sofia.conf by xml_curl
      freeswitch.working.1.6.8.log -> log of simulation with freeswitch 1.6.8
      freeswitch.notok.1.6.12.log -> log of simulation with freeswitch 1.6.12
      freeswitch.dpkg.notok.1.6.12.txt -> dpkg list of package of freeswitch
      freeswitch.dpkg.notok.1.6.8.txt -> dpkg list of package of freeswitch
      1. fix_3pcc_proxy_mod_sofia.c.diff
        1 kB
        Jose Lopes
      2. freeswitch.dpkg.1.6.8.txt
        16 kB
        Jose Lopes
      3. freeswitch.dpkg.notok.1.6.12.txt
        16 kB
        Jose Lopes
      4. freeswitch.notok.1.6.12.log
        35 kB
        Jose Lopes
      5. freeswitch.working.1.6.8.log
        42 kB
        Jose Lopes
      6. freeswitch.xml_curl_sofia.conf.xml
        3 kB
        Jose Lopes
      7. freeswitch.xml.fsxml
        126 kB
        Jose Lopes
      8. uac-inv-without-sdp.xml
        3 kB
        Jose Lopes

        Activity

        Hide
        jose.lopes Jose Lopes added a comment -
        I notice that the issue FS-9214 introduces some changes at the behavior of 3pcc proxy.

        These changes causes this issue.

        I created a patch that revert some changes done at FS-9214, so it solves this issue.

        I will appreciate If anyone can check my patch and verify if it can be included on FreeSwitch.

        Show
        jose.lopes Jose Lopes added a comment - I notice that the issue FS-9214 introduces some changes at the behavior of 3pcc proxy. These changes causes this issue. I created a patch that revert some changes done at FS-9214 , so it solves this issue. I will appreciate If anyone can check my patch and verify if it can be included on FreeSwitch.
        Hide
        mikej Mike Jerris added a comment -
        can you please create a pull request for this
        Show
        mikej Mike Jerris added a comment - can you please create a pull request for this
        Hide
        jose.lopes Jose Lopes added a comment -
        I can't create a branch. I think I don't have permissions.
        Show
        jose.lopes Jose Lopes added a comment - I can't create a branch. I think I don't have permissions.
        Hide
        mikej Mike Jerris added a comment -
        you can create your own fork. more info here: https://freeswitch.org/confluence/display/FREESWITCH/Pull+Requests
        Show
        mikej Mike Jerris added a comment - you can create your own fork. more info here: https://freeswitch.org/confluence/display/FREESWITCH/Pull+Requests
        Hide
        anthm Anthony Minessale II added a comment -
        From the looks of this, this never worked, if you had something that appeared to work it was probably not actually working how you expected.

        Please see latest master, where I added support to mod_verto to pass the sdp properly for this to work, note this will result in the SDP containing ICE elements etc which may not be desired. You might want to just set 3pcc=true instead of proxy on a profile bound to call verto endpoints.
        Show
        anthm Anthony Minessale II added a comment - From the looks of this, this never worked, if you had something that appeared to work it was probably not actually working how you expected. Please see latest master, where I added support to mod_verto to pass the sdp properly for this to work, note this will result in the SDP containing ICE elements etc which may not be desired. You might want to just set 3pcc=true instead of proxy on a profile bound to call verto endpoints.
        Hide
        jose.lopes Jose Lopes added a comment -
        The option 3pcc=true works, but I can't use it because Freeswitch auto-answer the call before the verto client answer the call.

        I will try to check latest master.
        Show
        jose.lopes Jose Lopes added a comment - The option 3pcc=true works, but I can't use it because Freeswitch auto-answer the call before the verto client answer the call. I will try to check latest master.
        Hide
        anthm Anthony Minessale II added a comment -
        also later yesterday we added another option.

        if you have the channel variable 3pcc_always_gen_sdp=true on the inbound leg set, then you can use =proxy and set that variable in the DP and choose your own codecs with absolute_codec_string and those will be used regardless of what happens in the verto call, but it will create transcoding if you don't have matching codecs.


        Show
        anthm Anthony Minessale II added a comment - also later yesterday we added another option. if you have the channel variable 3pcc_always_gen_sdp=true on the inbound leg set, then you can use =proxy and set that variable in the DP and choose your own codecs with absolute_codec_string and those will be used regardless of what happens in the verto call, but it will create transcoding if you don't have matching codecs.
        Hide
        jose.lopes Jose Lopes added a comment -
        I checked latest master and the call without SDP on invite works.

        The related changes to this issue will be available to the stable version 1.6 ?
        Show
        jose.lopes Jose Lopes added a comment - I checked latest master and the call without SDP on invite works. The related changes to this issue will be available to the stable version 1.6 ?
        Hide
        anthm Anthony Minessale II added a comment -
        It will be subject to review and if it can be backported and meets the criteria, it will.
        Otherwise it will be present in the first 1.8 release coming in 2017.
        Show
        anthm Anthony Minessale II added a comment - It will be subject to review and if it can be backported and meets the criteria, it will. Otherwise it will be present in the first 1.8 release coming in 2017.
        Hide
        jose.lopes Jose Lopes added a comment -
        Ok. Thanks you for your help.
        Show
        jose.lopes Jose Lopes added a comment - Ok. Thanks you for your help.

          People

          • Assignee:
            mikej Mike Jerris
            Reporter:
            jose.lopes Jose Lopes
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development