SearchWiki:

TheMilkfish

MilkfishServices

Boozy Milkfish

Milkfish-dd

Doozy Milkfish

Woozy Milkfish


Main.SideBar (edit)


Legal Information

Recent Changes Printable View Page History Edit Page

The Milkfish Dynamic SIP Services - Homesip (est. 2006, offline since March 2010) and Dynsip (est. 2009)

Before we start:

Dynamic SIP is not Dynamic DNS: Please note that ICMP messages (aka. ping's) are not forwarded to your router by the Dynsip or Homesip Service. This means, in case you try to ping your router using its dynsip/homesip address this will not yield the routers WAN IP as it would with a dynamic DNS service. Only SIP messages will be routed in order to prevent abuse.

Executive Summary:

Take a Dynamic DNS update backend and let it update a SIP Proxy instead of a DNS Server. The Dynamic SIP Services described here are similar to common Dynamic DNS Services in that they share the same IP update backend. Insofar, the two types of services are compatible especially with respect to widespread update client softwares. Yet, the dynamic IP is not used to update a DNS lookup table but a SIP Proxy lookup table, which allows the routing of calls to email-like SIP addresses which identify SIP phones behind dynamic IP addresses.

Description of Dynsip (almost-non-technical):

Similar to Homesip (see below) with the difference, that free user accounts support up to three routers with different internet addresses and almost arbitrary forwards among the routers. Major advantage over Homesip is the support for portforwarded phones which makes the service independent of the Milkfish Software and compatible with all common VOIP setups. User accounts are also independent of the Milkfish Forum and can be managed here.

Description of Homesip (almost-non-technical):

The Milkfish Homesip Dynamic SIP Service depends on the Milkfish Software and assigns your Milkfish Router a Domain Name (i.e. yourname.homesip.net). SIP Clients like SIP Softphones or SIP Hardphones which are connected to your Milkfish Router are then callable directly by any other SIP Client by 'dialling' yourclient@yourname.homesip.net. Here, 'yourname' corresponds to your Registration Name at the Milkfish User Forum. This means, that by registering at the user forum you have at the same time reserved the domain name for your router. The part before the @-sign is determined by your SIP Clients account name, which is either chosen by yourself if you are using the Milkfish Router's built-in local user management or it was assigned to you by your SIP internet telephony provider. Both types of accounts are connectable through your Milkfish Router's domain name. Please note: Although Homesip Support is a built-in feature of Milkfish, it needs to be activated in the configuration to actually work.

Description of Homesip (semi-technical):

Adding some details to the previous section's information, let's have a look at this Homesip Service. If someone calls your Router's Homesip Domain, the call hits the Homesip.net Server first. There, the server checks for your Router's momentary IP address and forwards the call to your Router. This describes the primary function of the Homesip Server. The secondary function, however, is to collect the Router's WAN IP Address if it has changed due to a dialup reconnect or a reboot or simply by the user changing the configuration. Since this Client-updates-Server scheme is known and used in Dynamic DNS setups, the Dynamic SIP setup we have with Homesip uses a very similar update procedure. This is also the reason why many DDNS update clients are actually reported usable with the Homesip Server, which shows the update processes are compatible.

Description (technical - you may want to skip this section in case you are happy with the rough picture):

The Milkfish Dynamic SIP Services SIP Service can be described technically as an automatically updated stateless SIP proxy server located in the internet which is forwarding (proxying) a SIP Request directed towards a user-specific URI (<UA>@<username>.homesip.net) to a registered stateful SIP proxy (primarily a Milkfish Embedded CPE doing SIP NAT traversal) with a dynamic IP connection (broadband) located at the users abodes. The update process, as well as the service topology, resemble the procedure and topology used by common dynamic DNS services (find specifications here) with the major difference being that the DNS server was replaced by a SIP proxy server. Since the service's M2M interface is compatible with the one used for dynamic DNS services, internet routers with an integrated ATA (or ITA) can also participate in using the Homesip Service without firmware updates (see the example below).

Combined with the From-Domain feature replacing dynamic public IP addresses in outgoing SIP messages with customisable domain names all calls coming back to their origin will reach the same router even if another public IP address has been assigned to it in the meantime.


The diagram above is externally located at http://upload.wikimedia.org/wikipedia/en/9/9b/SIP_signaling.png

Details:

This service is available for Milkfish'ed Routers 2.0.0 and beyond, as well as for all other routers with the possibility of defining custom dynamic DNS accounts. For a Milkfish Router this functionality is provided through the milkfish-services package and/or the Milkfish Web Interface package. Below we will focus on describing the setup on a non-milkfish router to show this.

Main preliminary in case of the Milkfish Homesip Service from the user side is a registration at the Milkfish Forum. The Username and Password are the only necessary credentials for using the Milkfish Homesip Service. After having registered with your username (say, steve) and configured your router, all your sip clients connected to the router are reachable via the homesip (sub-)domain <forum_username>.homesip.net where <forum_username>.homesip.net is dynamically resolved to the wan ip address of your router. I.e. all SIP accounts of/at the Homesip-enabled router are then connectable through their registration name "at" the routers homesip subdomain. So your sip phone behind the "homesip'ed" router is reachable independent of a provider and independent of your current ip address. People can call you Point-to-Point e.g. via sip:123@steve.homesip.net without the need for knowing your ip address and without paying more than the internet connection. If somebody calls sip:123@steve.homesip.net this call is routed to the homesip server, which does a lookup for the user steve. If steve is registered the call is forwarded to the ip address of steve's router, where the phone with the number/username 123 is registered.

Example: The Fritzbox, a DSL Router by AVM Berlin, is already set up with a SIP account being a landline-callable number, say 493012345678. The Fritzbox is therefore registering 493012345678 at the registrar server, being sip.2plus2.com, for example, which offers landline termination and therefore is also callable over normal landline or mobile phones. Enabling the dynamic SIP service now, makes the account additionally callable directly over the internet at the router, without interfering with the normal mode of operation.

Since the service is compatible (from the update client point of view) with dynamic DNS services such as those available at dyndns.org, it can easily be adapted to run with most routers already supporting for customisable Dynamic DNS configuration (see screenshots below from a Fritzbox running original firmware).

Although there is a compatibility from the update procedure point of view, it's actual way of operation is fundamentally different.

While a dynamic DNS service updates DNS entries which are service insensitive, say a http request will be forwarded to the DNS entry of the router as well as a ftp request, the dynamic SIP service is provided by a different, service sensitive mechanism. Say, a http request is directed to your dynamic SIP domain; it will not reach the router. On the other hand, a SIP request directed to your dynamic SIP domain will do so.

Fritzbox Screenshots (this is only one screen with the Update URL scrolled forward for each screenshot so it is entirely visible):

Technical Example (Flow-Chart):

 .
 .
 . CALL REDIRECTION FOR REGISTERED HOMESIP USERS
 . =============================================
 .
 .
 .  Precondition:
 .
 .     +--------------------------------+
 .     | $username:$routerip REGISTERED |
 .     +--------------------------------+
 .
 .
 .
 .     +-----------------------------------------------+
 .     | INCOMING CALL FOR  sip:12345@john.homesip.net |
 .     +-----------------------------------------------+
 .                        | 
 .                        | 
 .                        | 
 .                       .^.
 .                     ./   \.
 .                   ./       \.
 .                 ./           \.
 .               ./               \.
 .             ./                   \.       NO      +----------------+
 .            <   "john" registered   >--------------| "john" UNKNOWN |
 .             .\                   /.               +----------------+
 .               .\      ?        /.
 .                 .\           /.
 .                   .\       /.
 .                     .\   /.
 .                       .v.
 .                        | 
 .                        | YES
 .                        | 
 .         +-------------------------------+
 .         | CHALLENGE routerip for "john" |
 .         +-------------------------------+
 .                        | 
 .                        | 
 .                        | 
 .                       .^.
 .                     ./   \.
 .                   ./       \.
 .                 ./           \.
 .               ./               \.
 .             ./                   \.    INVALID    +--------------------+
 .            <    CHECK $routerip    >--------------| "john" UNAVAILABLE |
 .             .\                   /.               +--------------------+
 .               .\       ?       /.
 .                 .\           /.
 .                   .\       /.
 .                     .\   /.
 .                       .v.
 .                        | 
 .                        | VALID
 .                        | 
 .                        | 
 .     +---------------------------------------+
 .     | REDIRECT CALL TO  sip:12345@$routerip |
 .     +---------------------------------------+
 .
Edit Page - Page History - Printable View - Recent Changes - WikiHelp - SearchWiki
Page last modified on April 13, 2010, at 05:09 PM