Re: [asterisk-users] pjsip direct_media=yes and "unknown" endpoints

2017-05-10 Thread Daniel Tryba
On Wed, Apr 26, 2017 at 06:25:43PM +0200, Daniel Tryba wrote:
> Whoever when a terminating call comes in from the uplink provider, a
> sip request is send to a redirector. The redirector has
> redirect_method=uri_core configured (the only method that works for
> me).

[...]

> The request now gets routed based on a fully qualified domainname
> (with NAPTR/SRV records), which ultimately resolves to an ip that is
> matched in the endpoint SBC used above to originate a call.  But now
> the asterisk stays in the loop regarding RTP, a simple bridge is
> created but never switches to direct media.

This is not an asterisk problem, after fiddling with the config and
using templates to make sure the config for all (configured) endpoints
was the same, a reINVITE renegotiated RTP between the endpoints. 

However what happens is that after the renegotiation the DTMF
payloadtype (rfc4733) changed from 101 in the initial setup to 96. The
uplink provider doesn't support this thus DTMF breaks making
direct_media not an option right now. Something I have to figure out
later.

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
  https://wiki.asterisk.org/wiki/display/AST/Getting+Started

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] pjsip direct_media=yes and "unknown" endpoints

2017-04-26 Thread Daniel Tryba
> > Anybody got an idea why the last scenario fails to work?
> 
> If you turn up core debug (core set debug 2) and ensure it is going to
> the CLI then the bridge_native_rtp module will tell you why exactly it
> can't native bridge. You might also want to do a core show channel on
> both channels to see what the codecs are.

Thanks for the hint, I wasn't seeing any debug since it wasn't getting
send to console. I'll take a better look and report back.


-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
  https://wiki.asterisk.org/wiki/display/AST/Getting+Started

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] pjsip direct_media=yes and "unknown" endpoints

2017-04-26 Thread Joshua Colp
On Wed, Apr 26, 2017, at 01:25 PM, Daniel Tryba wrote:



> The request now gets routed based on a fully qualified domainname (with
> NAPTR/SRV records), which ultimately resolves to an ip that is matched in
> the
> endpoint SBC used above to originate a call.  But now the asterisk stays
> in the
> loop regarding RTP, a simple bridge is created but never switches to
> direct
> media.
> 
> SIP: enduser <-> uplink <-> asterisk 13 <-> pathfinder (302 redirect)
> 
> SIP: enduser <-> uplink <-> asterisk 13 <-> sip.xx.nl
> RTP: enduser <-> uplink <-> asterisk 13 <-> sip.xx.nl
> 
> Anybody got an idea why the last scenario fails to work?

If you turn up core debug (core set debug 2) and ensure it is going to
the CLI then the bridge_native_rtp module will tell you why exactly it
can't native bridge. You might also want to do a core show channel on
both channels to see what the codecs are.

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
  https://wiki.asterisk.org/wiki/display/AST/Getting+Started

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] pjsip direct_media=yes and "unknown" endpoints

2017-04-26 Thread Daniel Tryba
I'm trying to implement direct_media between multiple peers and an
uplink provider, all of whom have direct_media=yes configures.

For originating calls to the uplink provider direct_media=yes works like
expected. SIP flows through asterisk, rtp doesn't

SIP: enduser <-> SBC <-> asterisk 13 <-> uplink
RTP: enduser <-> SBC <-> uplink

SBC matches an endpoint based on ip and dials the uplink:

-- Executing [+31x@outgoingrr:9] Dial("PJSIP/sbcs-0092", 
"PJSIP/+31x@uplink") in new stack
-- Called PJSIP/+31x@uplink
-- PJSIP/uplink-0093 is making progress passing it to PJSIP/sbcs-0092

-- PJSIP/uplink-0093 answered PJSIP/sbcs-0092
-- Channel PJSIP/uplink-0093 joined 'simple_bridge' basic-bridge 
<3b25c543-13a3-4d74-b2fe-7122a1cfe4a4>
-- Channel PJSIP/sbcs-0092 joined 'simple_bridge' basic-bridge 
<3b25c543-13a3-4d74-b2fe-7122a1cfe4a4>
   > Bridge 3b25c543-13a3-4d74-b2fe-7122a1cfe4a4: switching from simple_bridge 
technology to native_rtp
   > Remotely bridged 'PJSIP/sbcs-0092' and 'PJSIP/uplink-0093' - media 
will flow directly between them
   > Remotely bridged 'PJSIP/sbcs-0092' and 'PJSIP/uplink-0093' - media 
will flow directly between them

Whoever when a terminating call comes in from the uplink provider, a sip
request is send to a redirector. The redirector has redirect_method=uri_core
configured (the only method that works for me).

-- Executing [+31x@incoming:11] Dial("PJSIP/uplink-0094", 
"PJSIP/+31x@pathfinder") in new stack
-- Called PJSIP/+31x@pathfinder
-- Now forwarding PJSIP/uplink-0094 to 
'PJSIP/pathfinder/sip:+31xx...@sip.xx.nl' (thanks to 
PJSIP/pathfinder-0095)
...
-- PJSIP/pathfinder-0096 answered PJSIP/uplink-0094
-- Channel PJSIP/pathfinder-0096 joined 'simple_bridge' basic-bridge 
<1bf02059-ea8f-4f9c-bc33-8ae99ba45c9a>
-- Channel PJSIP/uplink-0094 joined 'simple_bridge' basic-bridge 
<1bf02059-ea8f-4f9c-bc33-8ae99ba45c9a>
...
-- Channel PJSIP/pathfinder-0096 left 'simple_bridge' basic-bridge 
<1bf02059-ea8f-4f9c-bc33-8ae99ba45c9a>
-- Channel PJSIP/uplink-0094 left 'simple_bridge' basic-bridge 
<1bf02059-ea8f-4f9c-bc33-8ae99ba45c9a>

The request now gets routed based on a fully qualified domainname (with
NAPTR/SRV records), which ultimately resolves to an ip that is matched in the
endpoint SBC used above to originate a call.  But now the asterisk stays in the
loop regarding RTP, a simple bridge is created but never switches to direct
media.

SIP: enduser <-> uplink <-> asterisk 13 <-> pathfinder (302 redirect)

SIP: enduser <-> uplink <-> asterisk 13 <-> sip.xx.nl
RTP: enduser <-> uplink <-> asterisk 13 <-> sip.xx.nl

Anybody got an idea why the last scenario fails to work?


-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
  https://wiki.asterisk.org/wiki/display/AST/Getting+Started

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users