Hi,
I'm trying to bypass my ISP router with my FreeBSD server (I've an optical connection so I've a RJ45 used to connect
the box to WAN)
Internet and TV are working fine (Using igmpproxy to forward TV stream) but I've a problem with phone.
ISP's box is connected to
the server which gives it a LAN address.
The problem is that when
the box builds MGCP packets (and especially SDP ones) it uses its LAN address.
So I've think of writing an UDP proxy to handle MGCP and SDP packets in order to replace LAN address with server WAN address and then forward packet to WAN.
Before starting coding I've captured stream packets using my server as a bridge between WAN connection and
the ISP's box.
And, in order to see if my solution is viable, I've tried to send those packets to
the box using nemesis.
I tried to send a packet (found in capture) containing an endpoint audit:
AUEP 1447 aaln/
[email protected] MGCP 1.0
F: A
In
the wireshark capture
the box replied:
200 1447 OK
A: a:PCMU;PCMA;G726-16;G726-24;G726-32;G726-40;G.723.1-5.3;G.723.1-6.3;G729;TELEPHONE-EVENT, fmtp:"TELEPHONE-EVENT 0-15,144,149,159", p:10-30, b:4-40, e:on, t:00, s:on, v:L;M;G;D, m:sendonly;recvonly;sendrecv;inactive;confrnce;replcate;netwtest;netwloop, dq-gi
But when I use nemesis, I got an ICMP error: Port unreachable (Type 3, Code 3).
To build this packet, WAN source address of
the capture is replaced with my server LAN address, using
the mgcp-callagent port (2727) and
the packet is sent to
the LAN address of
the box at mgcp-gateway port (2427).
The command I use is nemesis udp -S 192.168.2.1 -D 192.168.2.2 -x 2727 -y 2427 -P packet_to_send.
I also tried an UDP scan to
the box on callagent and gateway port:
PORT STATE SERVICE
2727/udp open|filtered
unknown
2427/udp closed
unknown
I found those results a little bit strange because it should be
the 2427 port opened, as it was in capture.
Internet Protocol, Src: <ISP MGCP Server>, Dst: <My WAN Address>
User Datagram Protocol, Src Port: mgcp-callagent (2727), Dst Port: mgcp-gateway (2427)
Does someone has any idea about how having my box responding to my requests ?
Thanks in advance and sorry for my english.