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

Sofia late-negotiation, re-INVITE(codec-modification)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.7
    • Component/s: mod_sofia
    • Labels:
      None
    • CPU Architecture:
      x86-64
    • Kernel:
      Linux
    • Userland:
      GNU/Linux
    • Compiler:
      gcc
    • FreeSWITCH GIT Revision:
      1.0.head-git-eae86e0 2011-11-30 18-14-24 -0600
    • GIT Master Revision hash::
      yes

      Description

      TEST
      ----
      SIP vs SIP basic audio call, then re-INVITE for codec modification.
      FS configuration B2B, avoid transcoding.

      CONF
      ----
      In sofia SIP profile I have:
        <param name="inbound-late-negotiation" value="true"/>
        <param name="renegotiate-codec-on-reinvite" value="true"/>

      and in my dialplan XML I hit:
        <action application="set" data="inherit_codec=true"/>

      Loaded codec modules:
      freeswitch@internal> show codec
      type,name,ikey
      codec,G.711 alaw,CORE_PCM_MODULE
      codec,G.711 ulaw,CORE_PCM_MODULE
      codec,G.729,mod_g729
      codec,PROXY PASS-THROUGH,CORE_PCM_MODULE
      codec,PROXY VIDEO PASS-THROUGH,CORE_PCM_MODULE
      codec,RAW Signed Linear (16 bit),CORE_PCM_MODULE


      TEST 1)
      -------
      1001 ----invite(pcma)----> FS --invite(pcma)--> 1000
      1001 <----200OK(pcma)---- FS <--200OK(pcma)-- 1000
      1001 --re/invite(g729)---> FS
      1001 <----488------------ FS

      Full log: http://pastebin.freeswitch.org/17906

      Note: FS does not negotiate end to end the reINVITE O/A codec modification.
      It is closed locally on the 1001->FS leg. From the log I see
      2011-12-01 15:54:13.871332 [DEBUG] sofia_glue.c:4767 Audio Codec Compare [G729:18:8000:20:8000]/[PCMA:8:8000:20:64000]
      2011-12-01 15:54:13.871332 [DEBUG] sofia_glue.c:4767 Audio Codec Compare [telephone-event:101:8000:20:0]/[PCMA:8:8000:20:64000]
      2011-12-01 15:54:13.871332 [ERR] sofia.c:5876 Reinvite Codec Error!



      TEST 2)
      -------
      1000 ----invite(pcma)----> FS --invite(pcma)--> 1001
      1000 <----200OK(pcma)---- FS <--200OK(pcma)-- 1001
      1000 FS <--re/invite(g729)- 1001
      1000 FS ------------------> 1001

      Full log: http://pastebin.freeswitch.org/17907

      Note: FS does not negotiate end to end the reINVITE O/A codec modification.
      It is closed locally on the 1001->FS leg. FS select locally G729 but this result in transcoding!
      I hate transcoding!
      >From the log I see
      2011-12-01 16:00:12.971244 [DEBUG] sofia_glue.c:4767 Audio Codec Compare [G729:18:8000:20:8000]/[PCMA:8:8000:20:64000]
      2011-12-01 16:00:12.971244 [DEBUG] sofia_glue.c:4767 Audio Codec Compare [G729:18:8000:20:8000]/[G729:18:8000:20:8000]
      2011-12-01 16:00:12.971244 [DEBUG] sofia_glue.c:2806 Changing Codec from PCMA@20ms@8000hz to G729@20ms@8000hz
      2011-12-01 16:00:13.011337 [DEBUG] sofia_glue.c:2888 Set Codec sofia/internal/1001@138.132.110.64:5070 G729/8000 20 ms 160 samples 8000 bits
      2011-12-01 16:00:13.011337 [DEBUG] switch_core_codec.c:116 sofia/internal/1001@138.132.110.64:5070 Push codec G729:18
      2011-12-01 16:00:13.031252 [ERR] mod_g729.c:102 This codec is only usable in passthrough mode!
      2011-12-01 16:00:13.031252 [ERR] switch_core_io.c:1077 Codec G.729 encoder error!

        Attachments

          Activity

            People

            • Assignee:
              anthm Anthony Minessale II
              Reporter:
              giovanni.visciano@italtel.it Giovanni Visciano
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: