0

How does a home router know which connected device is meant to handle a VOIP call? Is there a specific broadcast that is sent out? My home setup uses an analog telephone adapter (ATA) box in bridge mode that handles the calls and I am wondering how the router knows where to send the SIP packets since there is no port forwarding or ALG in use.

I tried disconnecting the ATA and running Wireshark to look for broadcasts being sent to the other devices but nothing showed up; perhaps the router remembers the usual device?

I found a post on another site that mentioned the "registration process" keeping a connection alive, which I assume means the ATA registers the line and from then on out the router only deals with that single connection for all things call-related (SIP, actual call/RTP data, etc.)?

Any information you can provide is appreciated. Thanks.

migrated from serverfault.com May 15 at 19:04

This question came from our site for system and network administrators.

  • 1
    "the ATA registers the line and from then on out the router only deals with that single connection for all things call-related (SIP, actual call/RTP data, etc." exactly that. For this reason it is normal to put the ATA in front of any other routers on the network. If you don't then traffic must be port forwarded to the ATA (or VoIP device if you are not using an ATA). – DavidPostill May 15 at 20:16
0

You more-or-less havr the answer.

The SIP device connects (registers) with the server. As it does this the router sees the internal IP and destination, so it uses connection tracking to do NAT and handle SIP for that device.

There are specific connection tracking sip modules for the Linux kernel which many routers use - https://github.com/torvalds/linux/blob/master/net/netfilter/nf_conntrack_sip.c

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy