[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