In Progress Support new generation codecs

Discussion in 'Ideas' started by npereira@cbnco.com, Jan 31, 2017.

In Progress Support new generation codecs 5 5 53votes
5/5, 53 votes

  1. npereira@cbnco.com

    Joined:
    Sep 21, 2012
    Messages:
    26
    Likes Received:
    8
    Specifically Opus.
    opus can provide better quality audio then G.729 at the same packet size...

    Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s SILK codec and Xiph.Org’s CELT codec.

    Opus can handle a wide range of audio applications, including Voice over IP, videoconferencing, in-game chat, and even remote live music performances. It can scale from low bitrate narrowband speech to very high quality stereo music. Supported features are:

    • Bitrates from 6 kb/s to 510 kb/s
    • Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
    • Frame sizes from 2.5 ms to 60 ms
    • Support for both constant bitrate (CBR) and variable bitrate (VBR)
    • Audio bandwidth from narrowband to fullband
    • Support for speech and music
    • Support for mono and stereo
    • Support for up to 255 channels (multistream frames)
    • Dynamically adjustable bitrate, audio bandwidth, and frame size
    • Good loss robustness and packet loss concealment (PLC)
    • Floating point and fixed-point implementation
     
    Moawia Noor and tony722 like this.
  2. Nick Galea

    Nick Galea Site Admin

    Joined:
    Jun 6, 2006
    Messages:
    1,889
    Likes Received:
    190
    Thank you for the feedback and detailed suggestion

    Yes its something in the pipeline for this year... That said you now have g729 integrated in the pbx just fyi
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    jj1 likes this.
  3. Paul Omans

    Joined:
    Dec 2, 2016
    Messages:
    83
    Likes Received:
    28
    I would also like to voice my support for the OPUS codec, as it is now supported natively by the new Yealink phones T46S and T48S. Seeing how well the Yealink brand works with 3CX and how popular they are, it would be beneficial to implement the OPUS codec in order to fully support the new main feature of the T46S and T48S. I'm glad it is on the roadmap.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    JPB and comms1 like this.
  4. Sophie Ramos

    Joined:
    Mar 21, 2017
    Messages:
    4
    Likes Received:
    4
    Agree with this. Hope this gets implemented as well.
     
    Paul Omans likes this.
  5. Paul Omans

    Joined:
    Dec 2, 2016
    Messages:
    83
    Likes Received:
    28
    For those who don't know what the OPUS codec is and why it is superior to the older codecs, please visit: http://opus-codec.org/
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Paul Omans

    Joined:
    Dec 2, 2016
    Messages:
    83
    Likes Received:
    28
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. Nick Galea

    Nick Galea Site Admin

    Joined:
    Jun 6, 2006
    Messages:
    1,889
    Likes Received:
    190
    Opus has a big overhead on the processor just FYI. So especially in the cloud this is a big pity as you have to buy a bigger VPS. We have G729 already included now with 3CX which is pretty good to be honest. Thats not to say we wont do Opus but lets not make Opus as the be it and end all as its not
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    jj1 likes this.
  8. Paul Omans

    Joined:
    Dec 2, 2016
    Messages:
    83
    Likes Received:
    28
    Thank you very much for the verification, I as well as many others here did not realize that Opus had such a large CPU overhead. Is it possible for you to give a rough estimation on the overhead of Opus with the overhead of G729? Would you say it takes twice the CPU on average for the same number of calls, three times the CPU, etc?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. 0xDEADC0DE

    Joined:
    May 29, 2017
    Messages:
    8
    Likes Received:
    1
    Please bring OPUS. Who cares about CPU usage?
    It should be a separate checkbox for the codec with default off.
    If you have enough CPU power you can enable it.
     
    JPB likes this.
  10. 0xDEADC0DE

    Joined:
    May 29, 2017
    Messages:
    8
    Likes Received:
    1
    Newest OPUS v1.2 should reduce CPU usage.
     
  11. Flash99

    Joined:
    Aug 3, 2017
    Messages:
    80
    Likes Received:
    6
    Since we are going to deploy Yealink T42S it would be great to see OPUS support as soon as possible
     
  12. Paul Omans

    Joined:
    Dec 2, 2016
    Messages:
    83
    Likes Received:
    28

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. jj1

    jj1

    Joined:
    Feb 23, 2012
    Messages:
    24
    Likes Received:
    3
    As far as I am aware the issue is that no SIP Trunk providers support OPUS yet, they also do not support G722.

    When making internal calls G722 is great and i'm sure that OPUS will eventually be supported by some SIP Trunk providers. Even if 3CX do implement OPUS soon its only going to be for internal calls until SIP Trunk providers look at ways to support these new Codecs.
     
  14. Flash99

    Joined:
    Aug 3, 2017
    Messages:
    80
    Likes Received:
    6
    Its true that there is no support from providers yet, but in some cases it still going to help if 3CX will support it.
    For example I have a lot of users who connect to our PBX over the internet and I want to be able to use OPUS from these users to the PBX. Because the internet connection from them to PBX is not always the best and maybe even not wide band OPUS but narrow. I understand that there will be transcoding on the 3CX side but its ok I have no problem with it.
    Plus I have a lot of users in different locations and they do make a lot of internal calls so OPUS will help with it too.

     
    #14 Flash99, Aug 18, 2017
    Last edited: Oct 30, 2017
  15. DanTron

    Joined:
    Nov 17, 2017
    Messages:
    5
    Likes Received:
    1
    My clients want better audio quality. That is what they are looking for.
    G.711, G.729, and even G.722 just don't cut it anymore.

    Skype for Business has SILK and with a good headset it sounds amazing.
    3CX has G.729, G.722, and all of the MOH are VM recordings are essentially G.711.

    More and more SIP trunk providers are realizing there is a market for better quality calls and they support more modern codecs.

    3CX it's your turn. Show us what you got!
     
  16. 0xDEADC0DE

    Joined:
    May 29, 2017
    Messages:
    8
    Likes Received:
    1
    We have 3CX since 3 months and the product is ok. Would be have read more on the forums before, we would have chosen another system. 3CX doesn't care about what customers want. They act like Apple. They don't care about better codecs, they don't care about the crappy new conference calls they introduced. They don't give any information. Some bugs and requests are very old and the best you hear is "we are working on it". Let's hope they do something soon. I was used to use OPUS between our new Yealink phones and it was great.
     
  17. Flash99

    Joined:
    Aug 3, 2017
    Messages:
    80
    Likes Received:
    6
    This codec support issue really annoying.
    We tried to use OPUS and it worked great, but it forced us to use custom template and then we are not supported so in the end we went back to supported non modified template.
    Unlike some new features like hotdesking or the conference changes Codec is not a huge change so I really don't understand why 3CX are not implementing it.
     
  18. infohit

    Joined:
    Nov 21, 2017
    Messages:
    19
    Likes Received:
    5
    +1 on addition of OPUS.

    But with high quality codecs comes another problem: if we can upload audio files to PBX only in 8kHz 16bit mono WAV format, the uploaded audio itself is narrowband. Now imagine how awful / unprofessional a queue music / announcements will sound, compared to wideband, or even fullband when an agent picks up.

    The solution: support uploading of audio files in 44kHz stereo! :) To reduce processing power, allow users to upload multiple versions of the same file, or be fancy and transcode & cache on upload or on first use. :)
     
    DavidWebb likes this.
  19. lollerskates

    Joined:
    Feb 1, 2018
    Messages:
    1
    Likes Received:
    0
    So what is the holdup on adding Opus? Is it because Asterisk does not support the newest Opus 1.2 codec?

    Is it simply not a "priority" for 3cx developers? If the concern is CPU usage, simply do not make it default, but there are many of us that definitely want opus support. We have so many new phones coming out that support Opus codec, and the codec is widely used now across voice chat programs like Discord.

    Check this developer blog post and your jaw will drop at how far Opus has come:
    https://people.xiph.org/~jm/opus/opus-1.2/

    It's truly the next generation royalty free voice codec. So why not implement it into 3cx now?

    [​IMG]
     
  20. dandenson

    Joined:
    Mar 1, 2018
    Messages:
    34
    Likes Received:
    0
    @Nick Galea would love an update on this.

    I'm coming to 3CX from another platform and have been using OPUS with Yealink phones. This thread seems to focus primarily on the claims of OPUS but not on the reality, but real-world use makes it clear. Opus is the codec of the future.

    Here is the scenario that opus not only fits, but makes possible where no other codec does. Hosted PBX.

    Most likely the VPS/VM is sitting on a very good connection, so provider<>PBX connections are great and g.711 is just fine. But the leg between the PBX and the consumer DSL/Cable is *not* high quality. I don't mean it might not be, it simply isn't.

    Opus successfully handles packet loss by sending some redundant packets. Further, the reduced bit-rate means a dropped/delayed packet is less obvious. A 16kbps Opus stream sounds *better* than a g.711 stream and if you bump that up to 20kbps w/ redundant packets you get an incredibly robust narrowband call. bump to 32 and its wideband with some redundancy.

    Opus does chew up some CPU cycles, but that's not a big issue. Take a typical 4 call peak cloud deployment. A google cloud g1-small provides a single 2.2Ghz core, enough for 4 opus call transcodes for <$14/m. Also, hosted doesn't necessarily mean cloud hosted. I host on my own hardware so I'm paying a fraction of that price for a small system.

    Opus really makes a big difference in call quality. No more audio clicks and breakups when the QoS on the router trips up a bit, better sound quality, better recording quality, just better.

    please implement opus asap. It's license free and it looks like most of the groundwork is there in some way due to WebRTC support.

    Thanks.