[asterisk-dev] Stun issues

Philip A. Prindeville philipp_subx at redfish-solutions.com
Sat Jul 17 00:50:09 CDT 2010


On 07/16/2010 01:07 PM, Philip A. Prindeville wrote:
> On 07/15/2010 11:44 PM, Mark Michelson wrote:
>   
>> On 07/15/2010 07:18 PM, Philip A. Prindeville wrote:
>>   
>>     
>>> I'm running:
>>>
>>> Asterisk SVN-trunk-r276788 built by philipp @ builder on a x86_64
>>> running Linux on 2010-07-15 21:32:02 UTC
>>>
>>>
>>> and I've enabled stun debugging:
>>>
>>> pbx*CLI>  stun set debug on
>>> STUN Debugging Enabled
>>> pbx*CLI>
>>> [Jul 15 17:02:06] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:02:17] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:02:27] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:02:37] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:02:47] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:02:57] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:03:08] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:03:18] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> [Jul 15 17:03:28] WARNING[5165]: chan_sip.c:3136 ast_sip_ouraddrfor: stun failed
>>> ...
>>>      -- Executing [8919324 at redfish-internal:1] Log("SIP/ata_1-00000006", "NOTICE,Local: 8919324") in new stack
>>> [Jul 15 17:09:19] NOTICE[5622]: Ext. 8919324:1 @ redfish-internal: Local: 8919324
>>>      -- Executing [8919324 at redfish-internal:2] Gosub("SIP/ata_1-00000006", "rewrite-cid,8919324,1") in new stack
>>>      -- Executing [8919324 at rewrite-cid:1] NoOp("SIP/ata_1-00000006", "rewrite-cid: 8919324 3452372") in new stack
>>>      -- Executing [8919324 at rewrite-cid:2] GotoIf("SIP/ata_1-00000006", "1?done:") in new stack
>>>      -- Goto (rewrite-cid,8919324,4)
>>>      -- Executing [8919324 at rewrite-cid:4] Return("SIP/ata_1-00000006", "") in new stack
>>>      -- Executing [8919324 at redfish-internal:3] Dial("SIP/ata_1-00000006", "SIP/sip_proxy-out/8919324,,r") in new stack
>>> [Jul 15 17:09:19] WARNING[5622]: app_dial.c:2028 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
>>>    == Everyone is busy/congested at this time (1:0/0/1)
>>>      -- Executing [8919324 at redfish-internal:4] GotoIf("SIP/ata_1-00000006", "0?:fail") in new stack
>>>      -- Goto (redfish-internal,8919324,7)
>>>      -- Executing [8919324 at redfish-internal:7] Congestion("SIP/ata_1-00000006", "") in new stack
>>>    == Spawn extension (redfish-internal, 8919324, 7) exited non-zero on 'SIP/ata_1-00000006'
>>>      -- Executing [h at redfish-internal:1] NoOp("SIP/ata_1-00000006", "Hangup: h") in new stack
>>>
>>>
>>> So the odd part is that STUN is supposedly failing, even though I'm not even seeing any STUN traffic... and I have debugging on.
>>>
>>> So SIP fails because STUN supposedly fails, but I'm not seeing what action STUN is attempting that's allegedly failing.
>>>
>>> Anyone have a clue as to what's really going on?
>>>
>>> Thanks,
>>>
>>> -Philip
>>>
>>>    
>>>     
>>>       
>> Doing a quick comparison of trunk and 1.6.2, it appears the problem is 
>> due to the IPv6 merge. The old test was:
>>
>> if (externip.sin_addr.s_addr) {
>>      ...
>> } else {
>>      "stun failed" message
>> }
>>
>> Now it's been changed to:
>>
>> if (ast_sockaddr_isnull(&externip)) {
>> } else {
>>      "stun failed" message
>> }
>>
>> The logic of the if statement has been reversed. I just committed 
>> revision 276909 that changes the logic back to the old behavior. You 
>> should no longer see "stun failed" messages. If this causes any new 
>> issues, please let us know.
>>
>> Thanks for bringing this to our attention.
>> Mark Michelson
>>
>>   
>>     
> Picked it up, but calls are still failing... though I'm not seeing the
> stun spew on the console any more.
>
> -Philip
>   

The fix in 17665 doesn't include your patch for r276909 (must have been
done in a different svn workspace).

If you downrev to r276908, apply the patch in 17665, and then uprev to
rHEAD again, then the problem goes away.








More information about the asterisk-dev mailing list