Remote Extensions Audio and MOH

Discussion in '3CX Phone System - General' started by TomBarker, Aug 4, 2013.

Thread Status:
Not open for further replies.
  1. TomBarker

    Joined:
    Feb 25, 2013
    Messages:
    12
    Likes Received:
    0
    I have around 10 remote sites. My 3CX server is located in a data center with static IP. We have no local extensions.

    All sites are behind a basic firewall and we use Cisco SPA504G's at most sites (some use SPA 525G). We do not use 3CX tunnel.

    We have been using 3CX in this scenario for over 12 months with great results.

    When this was initially setup, all extension were set to "PBX Delivers Audio" to remove the possibility of one way / no audio etc. However, I'm not trying to improve performance and avoid having the 3CX server transcode all calls, so I have removed this option. After playing around with SIP ALG / NAT etc all is working well. No audio problems within sites or site to site. However there is no Music on Hold. When you place someone on hold you just get a couple of beeps rather than the music the 3CX server is setup to play.

    If I re-enable "PBX Delivers Audio". Music on Hold comes back.

    Any ideas?
     
  2. lneblett

    lneblett Well-Known Member

    Joined:
    Sep 7, 2010
    Messages:
    2,061
    Likes Received:
    56
    Is either "replaces" or "re-invites" enabled? I sent you the media server explanation in an earlier post. MOH presumably comes from the same media server as the PBX delivers audio. While the phones have negotiated and are communicating fine, 3CX was not involved in the negotiation and you asked that it not deliver audio. It is not an endpoint in this scenario, but a middleman.
     
  3. TomBarker

    Joined:
    Feb 25, 2013
    Messages:
    12
    Likes Received:
    0
    The extensions have both "replace" and "re-invites". The Voip provider on has "Re-Invite" So I assume this means the RTP stream is going directly between the Voip Provider and the Handset. When you press hold, shouldn't the handset invite MOH from the 3CX PBX?

    Is there away to have the 3CX server handle audio with processing it? ie the RTP stream flows from the Voip provider through the PBX to the handset but is transcoded?
     
  4. leejor

    leejor Well-Known Member

    Joined:
    Jan 22, 2008
    Messages:
    10,360
    Likes Received:
    226
    From the sounds of it (pardon the pun), because the audio does not pass through 3CX, the hold key becomes a function provided by a set feature, rather than a PBX feature.

    Why are you not using PBX delivers audio, it sounds as if that is what you want.
     
  5. TomBarker

    Joined:
    Feb 25, 2013
    Messages:
    12
    Likes Received:
    0
    Thanks for your reply leejor.

    Our 3CX PBX is used by a number of our remote sites so we decided to place it in our data center. We have a 1gb fiber transient link connected to the box. Our remote sites connect to it though this link and it is also used to connect to our VoIP provider. From our PBX we can ping the VoIP provider in under 1ms. Our remote sites ping the PBX between 18ms and 45ms depending on the site location.

    The setup works very well. At the moment all extensions and the VoIP provider are set to "PBX Delivers Audio". I'm trying to derive a method in which the PBX will pass through the RTP(audio) without transcoding (as both our handsets and VoIP Provider use the same codec (G711))

    My reason for this is twofold. Currently we only have have up to 32CC, however we will soon increase this to 128CC and I'm concerned as how the server will cope transcoding 128 calls at once. Will there be quality issues?

    Secondly, when we transfer a call externally (meaning the call comes in through the Voip Provider and then transferred out to another party through the Voip Provider) I assume the call is transcoded twice (on the incoming leg, and again on the outgoing leg) because there is a delay. It's not unbearable, probably somewhere between 500ms and 1 second.

    I assume a contributing factor to the delay is that fact the voice is transcoded twice.

    Would be great to hear your thoughts?
     
  6. lneblett

    lneblett Well-Known Member

    Joined:
    Sep 7, 2010
    Messages:
    2,061
    Likes Received:
    56
    The reason for the first question about replaces and re-invites is that with most providers and situation, this should be on. It allows the calls to be transferred and other features that would normally put the call on-hold while the transfer or call handling is negotiated and implemented. The media server is indeed the MOH source as I indicated.

    Assume a rule of thumb of 100kps for voice using g711 in each direction. Even with 128 calls your demand for bandwidth is pretty minimal for voice. Of course, this is dependent on your other "data" traffic. Let's not forget that internal calls may not require transcoding at the system level as the phones will accommodate provided that you leave PBX delivers Audio off at the extension level.

    While you may have g711a set up, what if an outside call comes in and that call is using G711u? G711a seems to be more widely used in EU while g711u is more prevalent in the US. Your provider most likely supports both as well as G729 and perhaps others. Each leg of a call may require some negotiation and transcoding and I think it possible that your provider will still attempt to pass the originating codec type to you provided that your set-up will support. I assume you have the 3CX system set with G711a at the top with others following and that the same was done for each phone connected. If so, then your system will likely accept the offered codec.

    You can set PBX delivers audio set at the provider level and/or at the phone level. I always encourage at the provider level. I do not at the phone level as the phones can handle it for themselves (extension to extension for example) as I indicated above.

    The issue you are concerned about is latency. Each aspect (analog to digital conversion at the phone, data transmission, data packet handling at the router and switches, transcoding, VoIP provider handling, PSTN network, etc.) of the call handling process to its destination and back adds to the overall latency. Usually the worst latency comes when forwarding using a cell/mobile number as that leg has to encounter more processing due to the network challenges of further call handling and protocol conversions (GSM, TDM or CDMA).

    Transcoding is generally not a big factor, but as you suggested, the more calls - the possibility exists that the processor becomes more bogged down and therefor adds more to the latency issue. The real issue is whether you have a processor up to the task. Search the blog as 3CX has published a recommended system minimum configuration based on calls.
    http://www.3cx.com/downloads/3CX_Phone_System_Operating_System_Specifications.pdf

    In the scheme of things, transcoding is but one piece of the overall latency, but my take is that when call forwarding and then possibly to a cell phone as well, the latency that transcoding interjects is minimal. The vast majority is network related - that is to get the call from point A (phone to 3CX) to B (3CX to provider) and then from B to C (provider to PSTN) and if cell from C to D and even possibly D to E (depending upon end cell provider) and back again.

    While I am surprised that the ping time is lower to the provider than to your own sites, I attribute the delay perhaps to the efficiency of any VPN?

    I encourage you (again) to use wireshark if you really want to examine the flow. You can then experiment and have an objective measure by which you can then decide what settings and all suit your environment best. I also encourage you to search the blog as there have been a number of studies that deal with some of what you are asking.
     
  7. bardissi

    bardissi Member

    Joined:
    Jan 31, 2012
    Messages:
    318
    Likes Received:
    0
    We host several 3cx pbx's from redundant data center facilities.

    We use a Session Border Controller to avoid the pitfalls of the remote phones connecting back to the 3cx server.

    The SBC re-writes the packet headers so that 3CX tunnel / VPN is not required.

    We also use the SBC for outbound traffic modifications to some of our VoIP providers.

    We do leave the PBX delivers audio check box enabled and have seen no performance degradation that is noticeable.

    Keep in mind the majority of our servers are running multitenant which in fact has multiple sites and up to 1000 extensions per server.

    So for all extent and purpose we have taken your model and exaggerated it 10 times.

    If you want more information on the hosted Session Border Controller we use / offer or want to ask any questions feel free.
     
Thread Status:
Not open for further replies.