Neels Hofmeyr nhofmeyr at
Mon Apr 11 14:27:27 UTC 2016

On Mon, Apr 11, 2016 at 01:25:26PM +0200, Terje Kristoffer Hybbestad Skow wrote:
> the sgsnemu says "Received echo response
> Received create PDP context response."

That looks like the sgsnemu has successfully connected to the GGSN.
The Echo is sent from sgsnemu to the GGSN, and the GGSN replies with an
Echo Response.

The sgsnemu apparently also creates a PDP context.

> IP address:

That seems a bit weirdly configured. The SGSN and GGSN are usually in a
"private" part of your core network, and the GGSN passes a "public" IP to
the subscriber. Here it seems your GGSN has given you a "public" IP
address that is the same as your private GGSN's IP address. So you would
assign a "public" IP address range to your GGSN, not entirely unlike DHCP,
so that the IP address returned by the GGSN is the one that the outside
network would use to contact your subscriber via the GGSN.

So the GGSN should have a network more like configured.
Or maybe, not sure about your network.

outside network
  V  <-- public IP of subscriber
 (|)--- GTP "tunnel"
  * <--- (some GSM components omitted)
subscriber: "ok, so I'm to the world outside, thanks!"

In your case, 'SGSN' down to 'subscriber' are emulated by sgsnemu, which
is incredibly useful.

> and then nothing happens.

Nothing would happen until you actually send packets via the tun
interface created by sgsnemu. You can start by using ping on the tun
interface, like `ping -I tun0`, depending on your network.

Note that both sgsnemu and OpenGGSN each create a tun device.

Looking at it again now, I may have misunderstood the reason why sgsnemu
didn't work for me. I thought sgsnemu omitted setting up a PDP Context,
but from above output that actually seems to have happened.

I'd try it again now, just for you ;) but unfortunately I don't have the
time resources. I think it would be good if you got into the source code
and the GTP specs to really get into the subject...

> When using two
> computers, one running ggsn and one sgsnemu with the ip-addresses as
> and respectively, the sgsnemu doesn't seem to get
> connented. It prints out "idletime.tv_sec 3, idleTime.tv_usec 0" over and
> over, and "Echo Request timed out".

Looks like your sgsnemu IP cannot reach the GGSN IP. You see ARPs to find
out who is, but no-one is answering. I can't debug your
basic network setup from here, so you have to fix that yourself...

> You talk mentioned using symoBTS how much does it cost? And how long is a
> delivery for it?

As much as sysmocom would like you to purchase a sysmoBTS, I don't think
you want to go down this road: you'd have to register a part of the public
GSM frequency spectrum, provision your own SIM card, ...

If you'd still want to, look at [1] and write to sales at The
BTS aren't in our shop [2] for radio frequency spectrum legislatory
reasons -- we're not allowed to sell sysmoBTS everywhere.

BTW, I did remind you to allow forwarding and masquerading for the GGSN?
The GGSN unpacks the traffic from GTP and then sends it into the tun
device it created. So what falls out the GGSN's tunnel is to be
handled/routed by the linux kernel, and so, for testing, you'd typically
use below setup; this should only become necessary after you've resolved
the other details above:
  sudo -s
  echo 1 > /proc/sys/net/ipv4/ip_forward
  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(replace eth0 if you're using another interface for the GGSN)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <>

More information about the osmocom-net-gprs mailing list