[asterisk-dev] Stun issues

Mark Michelson mmichelson at digium.com
Fri Jul 16 00:44:15 CDT 2010


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



More information about the asterisk-dev mailing list