Direct media between local endpoints

Hi all,
i’m having trouble configuring elastix pbx to have two endpoints calling each other having direct media between them.
My scenario is:

  • two zoiper sip clients in the same pbx’s subnet.
  • no NAT between sip clients and PBX
  • the sip sdp exchange works fine, sip clients and pbx are configured with same codec
  • on Elastix, at Extension and in Advanced settings i have configured canreinvite=yes and nat=no
    when a call is made between two zoiper, i see that the media goes through PBX, i want direct media anyway.
    What is wrong with my configuration?
    an help will e appreciated.

canreinvite is obsolete. I’m not sure if it is still recognized. However,I think directimedia defaults to yes.

I suspect that Elastix allows you to do DTMF initiated transfers, and you probably can’t turn that off.

As such, I would guess that Elastix is wrong with your configuration!

about dtmf, it is equal to rfc2833 for both zoiper. Advanced Setting reports SIP canrenivite (directmedia) = yes, on Elastix GUI canreinvite is reported for every extension and it’s set to yes. I’m using Elastix.
About version and release taken from Elastix:
freePBX 2.11.0 17
asterisk 11.17.1 1
asterisk-perl 1.03 0
asterisk-addons 11.17.1 1

Now my question would be: Supposing PBX is a new fresh install, how to configure it to have direct media between endpoints?

Don’t use any options on Dial or Queue (not all options inhibit direct media). Don’t use conferences. Don’t monitor calls. Don’t use the spy features.

(Also, directmedia=yes, the peers actually support re-INVITE, and they have compatible codecs.)

Almost certainly Elastix is setting Tt on Dial, which will inhibit direct media.

1 Like

Thanks, these are interesting topics, i’m going to try them.

this link helped me to solve the direct path. Not all the suggested parameters are necessary to achieve direct path, i suggest to try based on your employment.

malloc_81: As far as I know directrtpsetup has never been supported. It is basically prototype code that doesn’t always work. It shouldn’t be needed in order to actually set up direct media.

Also, I’m not sure that it is effective under FreePBX, as I believe FreePBX answers early, before the B side address is known.

I tried the suggested configuration in that link. But the only parameter that gave me the fine result was setting up directrtpsetup=yes under FreePBX gui.
Again, thank you for support.