Ping IPv6


The purpose of this tutorial is to show you how to ping from Callbox to UE in IPv6.  Difficulties in trying anything with IPv6 is to trigger UE to request IPv6 PDU and figure out right IPv6 to ping do.  It is assumed that you don't have any previous experience with Amari callbox.

The purpose of doing IPv6 ping is same as IPv4. So for general introduction for ping test, refer to ping IPv4 tutorial. The reason why I am writing a separate tutorial for ping IPv6 is because there are some specific issues that you need to pay attention to IPv6 and followings are some of those issues.



Table of Contents



Test Setup

Test setup for this tutorial is as shown below.


TestSetup Callbox UE 1sdr 01




I used enb.default.cfg as the configuration for this tutorial but you may use any configuration as long as your DUT(UE) would support it.

PingV6 Configuration 01

IP configuration is set in mme.cfg (mme-ims.cfg which is the default configuration). Both IPv4 and IPv6 are configured by default. So I am just using the default configuration as it is.

PingV6 Configuration 02

On UE side, I configured as below, but this configuration would vary depending on the mobile phone model or type of your DUT.

PingV6 Configuration 03


Check if LTE service is Running

Whatever you want to test, the first thing you need to do is that call box program (LTE Service) is running. You can check on the execution status of the call box program by running following command and you should get the result as shown below

LteServiceStatus 01

NOTE : Getting this result is pre-requisite for Call Box Operation, but this result itself does not guarantee the normal operation. If you see some unexpected issues. You may restart the call box with following command


Run Screen

If it is confirmed that the lte service is running, go to screen mode by running 'screen -r' and follow through the steps as shown below. The steps shown here is the procedure that you would use for almost every test and it is highly recommended to get familiar with these steps. For further commands you can use in this screen mode, refer to the tutorial : Command Line Command

Run following command

screen r 01

You will get the screen as shown below

Screen mode switch 01

Switch to [ENB] by pressing ‘Ctrl + A + 1’. You will get the screen as shown below

OutOfBox Lte Run 01

Start trace logging by 't' command as shown below .

OutOfBox SA Run 04



In this tutorial, it is assumed that you are familiar with how to get UE attached (Initial Attach) to Callbox. If you are completely new to Amari Callbox and never tried anything before, I would suggest you to try the tutorial LTE Attach first and get back to this tutorial.

Check on basic cell configuration and see if it is configured as you wanted (e.g, band, bw, RAT type etc)

PingV6 Attach 01

Power On UE and let it complete the attach. (NOTE : You should see one or more PRACH print and several traffic prints as shown below).

OutOfBox Ping Attach 01

When UE is in connected mode in RRC, you can check the ue status as follows (you don’t get any result when UE is in idle mode, but core network connection would still remain even after the rrc release if the initial attach was successful)

PingV6 Attach 02


Figure Out UE and Server IP

Run the command [ue] in (mme) and it will show whether UE is assigned with any IP and what are those IPs. The IPs assigned to the UE is configured in mme.cfg file as indicated below.(NOTE : If you don't see any of this kind of information, it may indicates there is some problems with the initial registration or IP allocation process and you need to troubleshoot until you get the result like this).

PingV6 Get IpAddress 01

For IPv6 testing, I prefer checking users information on [IMS] screen. In may cases, many commercial UEs use IPv6 as default for IMS. So checking IMS status can be a quick and easy check if the IPv6 is working or not.

PingV6 Get IpAddress 02

NOTE : Following is the whole result of [ifconfig] on my Callbox. These are some of the network interface automatically setup by Operating system (Fedora on Amari Callbox Classic in my case). Tun2 and Tun3 are the network interfaces that allocates IPv6 to UE.

PingV6 Get IpAddress 04

PingV6 Get IpAddress 05

PingV6 Get IpAddress 06


Figure out the IP to ping to

One of the challenging thing in IPv6 ping is to figure out the right IP address to use for Ping. Usually a few different IPv6 addresses are assigned once IPv6 Apn is established. Which IP allows Ping depends on UE implementation. So you need to know which IP to use for the ping test for your DUT

In this section, I will show you how to figure out some of the candidate IPv6s setup by UE (DUT). There may be another IP which is used for ping v6 by UE implementation but not shown here.

Candidate 1 :  IPv6 address both network prefix assigned by Router Advertisement  and interface id assigned by NAS message.

PingV6 TargetIP 01

Candidate 2 :  IPv6 address used in SIP registration.

PingV6 TargetIP 02

Candidate 3 :  IPv6 address with local network prefix and interface id used in SIP registration.

PingV6 TargetIP 03


Try ping

View Sample Log

Once you figure out which IP out of all the candidates described above, you can try ping. With my DUT used in this tutorial, only following address allowed IPv6 ping.  

PingV6 Ping 01





Figureing Out Network Prefix

There might be some cases where you get only interface identifier (the last 32 bits of IPv6 address) displayed on your UE and you want to figure out the network prefix (the first 32 bits of IPv6 address) to get the full IPv6 address.  One way to figure the network prefix is to find it from a NAS message as shown below. Then, you can get the full 64bits IPv6 address by combining the network prefix and interface identifier.

PingV6 Tips NetworkPrefix 01


IPv6 Verficiation with Amari UEsim

As far as we experienced, most of IPv6 setup issue turned out to be due to UE side issues as follows (this is just a few examples).

We suggest users to have proper debugging tools on UE side to check the detailed status / procedure of IPv6.  Amarisoft does not have any debugging tools for commercial device (or any other customer UE). The only way we can verify the operation of IPv6 is to use Amarisoft Callbox and Amarisoft UE simulator. Followings are tutorials showing how we can validate IPv6 with Amarisoft Product.  You may not be able to verify as we do if you don't have Amarisoft UEsim + Amarisoft Callbox, but the point is that these verification would be good indicators that Amarisoft IPv6 stack works properly.