Hi,
I’m not sure quite how much information to put here - I don’t want to bore people with irrelevant details, but I don’t know what is relevant. I’m somewhat new to Asterisk, so please be gentle .
Problem: I have asterisk connecting to two SIP trunks. One works fine. The other works fine for incomming calls, but for outgoing calls I only get sound one way.
Setup: I have a Belkin F1PI241EGau ADSL router with NAT and an ATA. behind the NAT I have a linux box running debian Sarge. It has the standard Sarge asterisk package installed (1.0.7 + mods).
The Belkin ATA uses sip port 5060 (and seems to use RTP port 5002, but that isn’t configurable). Asterisk is set up to use SIP port 5061, and RTP ports 9500-9999. Ports 5061 and 9500-9999 forward from the NAT box to the linux box.
Asterisk has a simple setup. The ATA registers with it, and it registers with two SIP trunks, sipphone.com and iinetphone.iinet.net.au. The connection to sipphone.com works well. I can call in, I can call out, and I get sound both ways regardless of who called who.
The connection to iinetphone is a little more problematic. Inward calls get sound in both directions. Outgoing calls only get outgoing sound.
Interestingly, if I make the machine the DMZ machine, then calls start working in both directions. However this causes other wackiness with that machines net connection that I don’t understand, and I didn’t spend time working that out as I don’t want that machine outside the firewall anyway (it runs some insecure stuff for the internal network).
It sounds sort of like a port forwarding problem, but I have all ports that should be being used forwarded, don’t I? What am I missing?
I have logs of two short calls. They are very similar (some randomly generated ports differ, but they’re in range) up through where the first SIP packet
[color=blue]SIP/2.0 183 Session Progress[/color]
is sent from iinetphone to asterisk and asterisk sends a similar message to the ATA. After that, the successful log has:
[color=blue]Urgent handler
Dec 23 16:31:22 DEBUG[19311]: rtp.c:1193 ast_rtp_write: Ooh, format changed from unknown to ulaw
Sip read:
SIP/2.0 183 Session Progress
[packet from iinetphone]
[continues on to swap format, complain about incomplete RFC3389 support etc]
[/color]
where the unsuccessful log has:
[color=blue]Urgent handler
Dec 23 16:28:15 DEBUG[19311]: rtp.c:1193 ast_rtp_write: Ooh, format changed from unknown to ulaw
Dec 23 16:28:15 DEBUG[19311]: rtp.c:1193 ast_rtp_write: Ooh, format changed from unknown to ulaw
Dec 23 16:28:17 DEBUG[19311]: rtp.c:377 ast_rtcp_read: Got RTCP report of 112 bytes
Dec 23 16:28:18 DEBUG[19311]: rtp.c:377 ast_rtcp_read: Got RTCP report of 52 bytes
RFC3389: 1 bytes, level 4…
Dec 23 16:28:19 NOTICE[19311]: rtp.c:298 process_rfc3389: RFC3389 support incomplete. Turn off on client if possible
Dec 23 16:28:20 DEBUG[19311]: rtp.c:377 ast_rtcp_read: Got RTCP report of 112 bytes
[/color]
then the next SIP packet is from the ATA when I hang up.
I don’t understand why the missing SIP packet from iinetphone would be dropped that late in the stream. It should be coming on the same port as all the others. I don’t understand why the successful example has two Session Progress packets from iinetphone - the payloads look identical.
I don’t seem to be the only person with this problem:
forums.whirlpool.net.au/forum-re … 431207#r12
Any thoughts or suggestions on where to look next are most welcome.
Hope everyone has a wonderful festive season.
Will :-}