[asterisk-dev] Symmetric RTP behaviour and 'nat' peer option.

Alex Balashov abalashov at evaristesys.com
Wed Apr 22 18:42:59 CDT 2009


Joshua,

Thanks for doing the testing.

I suspect that there is a bug at work here wherein what the code thinks 
it's doing (and thus, what log messages based on flags set therein) is 
not what it actually does.

I will privately e-mail you a packet capture that demonstrates the 
actual behaviour I see.

-- Alex

Joshua Colp wrote:

> ----- "Alex Balashov" <abalashov at evaristesys.com> wrote:
> 
>> I agree that this patch is germane, but I think it is a little 
>> orthogonal to the problem I have.    Maybe it's just a philosophical 
>> difference.
>>
>> Specifically, I do not *want* Asterisk to always retrain its outbound
>>
>> RTP destination ports on the source port of the incoming RTP.  This is
>>
>> what the patch appears to effect.  I don't think that should be the 
>> behaviour.  If I set nat=no, I don't want Asterisk to do anything 
>> "intelligent" like that.  I want it to behave strictly according to 
>> protocol mechanics and send the RTP to where the SDP says to send the
>>
>> RTP to.  If I set nat=yes, then it can do that.
>>
> 
> I just did some testing using the latest 1.4 from SVN and 1.4.21.1 for this specific situation.
> 
> To confirm whether the symmetric RTP support is being used or not I added a line of code that outputs a log message to the screen when it is executed.
> 
> 1. Set nat to no in the general section, left unconfigured elsewhere. Confirmed that the code is not executed.
> 2. Set nat to yes in the general section, left unconfigured elsewhere. Confirmed that code is executed.
> 3. Set nat to no in the general section, set to yes in the phone entry. Confirmed that code is executed.
> 4. Set nat to no in the general section, set to no in the phone entry. Confirmed that code is not executed.
> 5. Set nat to yes in the general section, set to no in the phone entry. Confirmed that code is not executed.
> 6. Set nat to yes in the general section, set to yes in the phone entry. Confirmed that code is executed.
> 7. Set nat to no in the general section, disabled phone entry. Confirmed that code is not executed.
> 8. Set nat to yes in the general section, disabled phone entry. Confirmed that code is executed.
> 
> I've thrown all the scenarios I can think of at it and they all behave as expected. Are you doing something differently?
> 


-- 
Alex Balashov
Evariste Systems
Web    : http://www.evaristesys.com/
Tel    : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (678) 237-1775



More information about the asterisk-dev mailing list