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


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)

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

PingV6 Get IpAddress 02



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.