[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