Genius Multicast DNS

Home/Developers / Knowledge Base / Genius Multicast DNS

Genius versions 5.0 and later support Multicast DNS (mDNS) and DNS Service Discovery (DNS-SD). What does this mean for a POS developer? If your operating system supports mDNS (sometimes also referred to as Bonjour or Zeroconf), you can:

  1. Address a Genius terminal using a friendly name based on its serial number, instead of its IP address. This is particularly useful if your merchant's network uses dynamically assigned IP addresses (DHCP) rather than static IP addresses.
  2. Discover all Genius terminals on your network. This can be used to do a "quick setup" of a Genius terminal by browsing all of the terminals available on the network.

An example of discovering music sharing devices on your LAN. •	Example taken from the Apple Bonjour Overview. •
(Example image taken from the Apple Bonjour Overview.

This is the same technology that allows your iPhone to discover playback devices within your home network, or your laptop to discover printers on your office's LAN.

This feature works well with Genius's HTTPs feature, also supported in version 5.0 and later.

Addressing a Genius Terminal

Using this feature, you can address a Genius terminal by its serial number rather than its IP address. As mentioned below, your POS must be utilizing an Operating System or library that supports mDNS. Additionally, you must update your POS's configuration to use this addressing scheme:

http://<serial_number>-geniusced.local (eg. http://288-250-247-geniusced.local:8080)

This feature also works using the HTTPs protocol scheme (eg. https://288-250-247-geniusced.local:8443).

Discovering all Genius Terminals on your Network

Genius terminals can be discovered on your local area network using DNS-SD. Genius terminals advertise themselves on the pseudo ".local" domain as follows:

Service Type
_geniusced_http Genius on http port 8080
_geniusced_https Genius over https port 8443

Below is an example of browsing all Genius terminals using the DNS-SD Service Browser, a Java application that's part of the Bonjour SDK.

Operating System Support

To take advantage of this feature, you'll need an Operating System that supports mDNS, install a helper application like Bonjour or Avahi, or else you'll need to use a library that supports mDNS. Information for several popular platforms is included below:

OS/Platform Recommendation
Mac OSX Supports mDNS natively via Bonjour
iOS (iPad, iPhone) Supports mDNS natively via Bonjour
Windows Can be supported by installing Bonjour
Linux Supported on distributions running Avahi
Java Supported via one of many Java libraries (eg. JmDNS, mdnsjava)
Android As per Java. Newer versions of Android support Network Service Discovery.

If your POS is running on Mac OSX, iOS, Windows with Bonjour installed, or Linux with Avahi installed, mDNS should be seamlessly integrated into your Operating System's network stack. This means that your OS, libraries, and frameworks should know how to handle HTTP requests for the geniusced.local pseudo TLD without you having to make any specific changes to your POS.

mDNS Repeaters

By design, Multicast DNS only can discover and communicate with devices on your local area network (more specifically, within the same subnet). If your merchant's storefront uses multiple virtual lans/subnets - eg. the merchant is employing network segmentation such that the POSes are on subnet #1 and the terminals are on subnet #2 - you will need to take advantage of an mDNS repeater. An mDNS repeater will forward mDNS requests from one subnet to another. Many common commercial and home routers support this feature, sometimes dubbed as "Wide Area Bonjour". If yours doesn't, there are options, such as mdns-repeater.