How to connect more than one Bluetooth speakers to Echo Dot?

Connect more than one Bluetooth speakers to Echo Dot or other Echo devices to listen music or other types of audio seamlessly in multiple rooms at your home.

Amazon is dominating voice-controlled device industry with 70% of market share. The software and hardware capabilities of Echo devices are continuously improved. Alexa has already become a part of daily routines for many of us.

With the recent developments, Echo devices now can play an audio seamlessly. It means, you are able to continue listening the same song or podcast when you go to one from another in your home.

Here is the challenge: What if you have only one Echo device but you want to hear audio from more than one speakers? It is possible with a additional device called “Bluetooth transmitter”.

Here is what you need:

  • 1 Echo device (obviously)
  • More than 1 Bluetooth speakers
  • Bluetooth transmitter

Watch the video below for a quick demo.

Demo of playing music in 2 bluetooth speakers at the same time (using Echo Dot)

Here is the device mentioned in the video (bluetooth transmitter):

Alternative link: https://amzn.to/2CWrSkA

Steps to connect more than one Bluetooth speakers to Echo Dot

  1. Remove all bluetooth speakers from Alexa app (use app or alexa.amazon.com)
  2. Connect the bluetooth speaker to Echo by using auxiliary audio cable
  3. Sync your bluetooth speakers with the transmitter (follow transmitter’s instructions)
  4. Play music and enjoy!

Thinking about controlling your lights and TV through Alexa? Check this post out.

Two most common issues with Alexa:

  • “I am having trouble connecting to the internet. Take a look at the help section in your Alexa app” (Solution)
  • “Sorry, I’m having trouble understanding you right now. Please try a little later” (Solution)

Recommendations for using dynamic IP address in web servers

It is highly recommended to use static IP address for servers so that users have a consistent access to the applications. However, there might be certain scenarios where you want to use dynamic IP address in web servers.

Dynamic IP address in web servers

Using dynamic IP address in web servers means using a dynamic DNS such as DynDNS and No-IP. Every time the server address changes, DNS should be notified with the new IP address to update DNS record for applications accordingly. Most of the dynamic DNS services do this by using desktop agents installed to your servers.

Assuming that you built your architecture and made necessary configuration, there are a few more things to consider:

  • Check with software vendors to see if this scenario is supported
  • In order to minimize downtime between IP changes, it is recommended to have a short TTL (time-to-live) time. Short TTL time will speed up DNS requests so that users retrieve the new IP faster in the case of a change in web server IP address. Please note that having short TTL time may affect network performance. Please discuss it with your network team before making changes.
  • If possible, increase the reservation time of IP addresses assigned to web servers in your DHCP to reduce the amount of IP changes over time.

Recommended TTL value

The recommended TTL value when using dynamic IP address in web servers depends on the DHCP IP lease duration in your network. If your lease duration is set to the default value (8 days for Microsoft DHCP), 1 hour TTL value (default for Microsoft DNS) is a good choice. If your lease duration is very low such as 1 or 2 hours, then your TTL value should be less than 1 hour. How much low it could be depends on your network performance. If you need to lower TTL to below 1 hour, I recommend lowering it gradually while monitoring network performance.

A good rule of thumb is to make your DDNS TTL half the amount of your DHCP lease. If the IP address lease is set to 60 (1 minute), set your TTL to 30 (30 seconds). If the IP address is 3600 (1 hour), set your TTL to 1800 (30 minutes).

Source: 1&1

Using dynamic IP address in multihomed web servers

If your server is multihomed (connected to multiple networks), you will need multiple NICs (Network Interface Controller) in your server. Each site hosted in your server can be bound to one NIC. If you have more sites than NICs, make sure to specify unique hostnames or port numbers for bindings of sites so they don’t conflict with each other. In the case of 2 sites having the bindings, one of the sites will turn off automatically.

Dynamic IP address in web servers
Site bindings in IIS

Looking for a way to capture client IP address in your IIS logs? Check this post out.

References

How to log actual client IP address in IIS?

When users go through several proxies before reaching out your web server, the IP field in IIS may show only a proxy IP address instead of the actual client IP address. In this post, we will see how to find the actual client IP address in this scenario.

Long story short, you can use X-Forwarded-For request header to find the IP address of the client who sent requests. This field is not logged in IIS by default. Therefore, you need to configure custom logging in your web server.

Configure IIS to log actual client IP address

The way custom logging (also called advanced logging or enhanced logging) is configured is different based on IIS version. See the corresponding instructions below.

Looking for a list of IIS versions? Check this post out.

Which directory the custom logs are stored in?

In IIS 7/7.5/8: %SystemDrive%\inetpub\logs\AdvancedLogs
In IIS 8.5+: %SystemDrive%\inetpub\logs\LogFiles

Add X-Forwarded-For column in IIS 7/7.5/8

  1. Open IIS Manager
  2. On server, site or application level, double click “Advanced Logging
  3. In the action pane on right side, click “Enable Advanced Logging
  4. In the action pane, click “Edit Logging Fields
  5. In the new window, click “Add Field
  6. In “Add Logging Field” window, fill out the following fields
    • Field ID: X-Forwarded-For, Source type: Response Header, Source name: X-Forwarded-For
  7. Click “OK
  8. In the middle pane, select the default log definition “%COMPUTERNAME%-Server“. Click “Edit Log Definition
  9. Click “Select Logging Fields” 
  10. Select “X-Forwarded-For” from the list. Click “OK
  11. Click “Apply” in the actions pane

Wait for a new log file to be created. Column changes will be effective when a new log file is created. You may need to generate some traffic to fill and close the current log file.

Add X-Forwarded-For column in IIS 8.5 and newer versions

Custom logging became a lot easier with the IIS 8.5. Follow the steps below to add X-Forwarded-For column into IIS logs.

  1. Open IIS Manager
  2. On server, site or application level, double click “Logging” 
  3. Click “Select Fields
  4. In “W3C Logging Fields” window, click “Add Field
  5. In the “Add Custom Field” window, fill out the following fields
    • Field Name: X-Forwarded-For, Source type: Response Header, Source: X-Forwarded-For
  6. Click “OK” in both open windows
  7. Click “Apply” in the actions pane
Add X-Forwarded-For field to log actual client IP address
Add X-Forwarded-For field to log actual client IP address

Wait for a new log file to be created. Column changes will be effective when a new log file is created.

Note 1: If you see a dash (“-“) in X-Forwarded-For column of the log file, it means the client didn’t use any proxies. Therefore, the client IP must be in the “c-ip” column

Note 2: You may see multiple IP addresses in X-Forwarded-For column of the log file, it means the client went through more than 1 proxy. Each proxy adds their own IP to the end of the value. The left-most IP address is the actual client IP address. Others belong to proxies the client go through. 

X-Forwarded-For: client1, proxy1, proxy2, …

References: