Expensive GPRS / EDGE roaming

    Well, winter will end soon ... Warm spring days will come, you will want to immediately go out into the countryside, and it is better to go somewhere to relax ... to the warm lands ... stop, but what to bring your faithful laptop with you on the road? But I’m going to rest from work ... and I’ll take my reliable communicator ...
    I think many people are familiar with such a situation when I do not want to take a laptop when I go abroad, but I want to keep in touch with the outside world / corporate office. Therefore, one of the solutions to this situation is to use a communicator, and use GPRS / EDGE, one of the packet data technologies, as an access to the network.


    Several vivid stories are still fresh in my memory, like this one , from the “lucky” owners of very popular communicators from one apple company who received very substantial bills for using packet data transfer from abroad.

    We will not go into details, though this or another duck, we just accept, purely hypothetically, that such facts could take place ...

    Actually, such a combination of circumstances prompted me to write this small note.

    So ... Why do roaming users get such terrible bills for using package services, why do operators have such “space” tariffs for data transfer in roaming ?! And all this for downloading several megabytes ?!

    For example, data on tariffs for using packet data transfer (GPRS / EDGE) in roaming for three major Ukrainian operators:
    #The amount of downloaded data, kBCost, $ USD

    Let's see how the packet data transfer in roaming occurs. We assume that we use GPRS / EDGE.

    In this case, the integral part involved in the transfer of data will be SGSN and GGSN , both in the guest network and in your home network. To simplify the task, we assume that the subscriber:
    • already registered in the packet network (passed the GPRS Attach or Combi Attach * procedure)
    • has in the settings on MS the correct APN allowed to it **
    • connected to himself / he was “connected” to roaming services (tags in the profile on HLR)
    • forgot to disconnect / decided to use packet data services
      * - more details about these procedures can be found in the article: “GPRS from the inside. Part 2 "
      ** - for more details on using APN, see the article: " It Doesn’t matter who you are ... it matters what your APN is "

    We will also consider two options: when a user requests access to a network accessible only from his HPLMN - for example, VPN access to a corporate intranet and when a user simply requests access to the internet.

    Yes ... one more important moment, we will consider that our “home” operator has roaming agreements with the operator, from whose guest network we will receive the packet data service.

    Standart roaming GPRS / EDGE access

    The generally accepted PDP Context'a activation scheme for a subscriber who is on the guest network is presented in the diagram below:


    Let's look at the basic procedures that occur when PDP Context is activated for a roaming subscriber. As you can see from the diagram, to organize access from the intranet of our home network, the guest SGSN is used, which performs authentication and authorization procedures, resolves the requested APN, and then establishes a GTP tunnel to our "home" GGSN. A similar procedure will be in case the roaming user just wants to go online.

    Procedures flow diagram

    A simplified diagram of the main procedures depicted in the previous diagram is presented below:


    1. MS requests GPRS access from guest SGSN, passing APN in PDP Context activation request. At this stage, I want to emphasize that for roaming users SGSN will automatically add MNC and MCC to the requested APN based on the IMSI of the subscriber and will form a complete request of the form: mega.fast.internet.mnc006.mcc255.gprs , for APN - mega.fast.internet .
    2. The local (guest) DNS server checks (resolves) the APN, because SGSN added MCC and MNC to the requested APN of the user's home network, then the guest DNS does not "know" anything about this zone - the mnc006.mcc255.gprs zone (for example, a certain virtual operator for Ukraine), and will redirect the request to a higher level DSN server.
    3. The guest DNS server sends a resolver request to a higher level DNS server (DNS in the GRX zone (en) - GPRS Roaming eXchange), if it is connected to this network.
    4. The root DNS in the GRX zone “knows” that the DNS server in the user's home network is responsible for the maintenance of the mnc006.mcc255 zone and sends a request to it.
    5. The guest SGSN receives the IP address of the GGSN, which serves the requested APN in the user's home network.
    6. The guest SGSN redirects the request for PDP Context activation to the home GGSN.
    7. The home GGSN receives the request and establishes a GTP tunnel.

    We see that in order to be able to use GPRS services in roaming, it is ultimately necessary that the networks of operators are interconnected in some way. The easiest way to make such connections is through direct communication of each operator with each other, but naturally, this method is not reliable and absolutely not economically acceptable.

    Therefore, the world-wide GRX network (GPRS Roaming eXchange) was organized , allowing to unite operators around the world, and with it appeared providers connecting large operators to this network.

    Arrangements for connecting operators to the GRX network are advertised as expanding the coverage of GPRS services in roaming.


    After establishing a session with your home GGSN, we are interested in the way, there isn’t not a samurai :) but billing data from the operator’s guest network to our home network. As you know, billing data can be accumulated in one of the network elements - SGSN or GGSN *, and then the operator must pick them up and form the settlement operations on CG [Charging Gataway] **. Moreover, in the case of roaming subscribers, guest SGSN can collect CDR records, and then the foreign operator can transfer this data to the home operator, by virtue of roaming agreements.
    * - most often, CDR recordings still accumulate on the side of SGSN'a, because collecting billing data on GGSN requires a more complex implementation and is not particularly popular with operators.
    ** - basically, in this article we are talking about post-paid subscribers (contract subscribers), for which settlement operations are carried out offline, therefore, for such subscribers it is necessary to collect billing data (CDR records), and then settle the contractual obligations . There are still pre-paid subscribers (prepaid service subscribers) for whom payment transactions are carried out online, using CAP protocols, etc. IN [Intellegent Network] platforms. Billing schemes for pre-paid subscribers, practically do not depend on the location of the subscriber (guest or home network), therefore, their consideration is not included in this article, but the described scheme for providing network access for contract subscribers in roaming is flawed, they are equally consistent with the scheme providing access to the network for prepaid service subscribers,

    We continue our discussion ...
    As we can see from the general PDP Context activation scheme above, the GTP tunnel “stretches” from abroad directly to our home network, to our home GGSN, which provides us with access to the Internet. What makes a home operator use such an inefficient connection scheme ?!

    There may actually be several reasons:
    • roaming subscriber requests access to the corporate intranet, or to a specific LAN_over_GPRS, access to which is only through the home GGSN.
    • our home operator does not “trust” its roaming partner and prefers to collect billing data on its GGSN.

    But based on what we already know ... the operators mainly use the CDR record collection scheme on the SGSN itself, i.e. in the case of a roaming subscriber, this will be a guest SGSN +, again, mainly roaming subscribers request simple access to the internet, which in principle has a guest GGSN.

    Let's discuss how to simplify the existing “inefficient” scheme and reduce the tariffs for using packet data in roaming ...

    Alternative roaming GPRS / EDGE access

    If a roaming subscriber only needs to go to the Internet, and in most cases it is, then there is an alternative PDP Context'a activation scheme, which has its own nuances, but allows to reduce the subscriber’s expenses for packet data transmission in roaming:


    The main procedures for this scheme are presented below:


    1. MS requests GPRS access by transmitting to guest SGSN APN in activation request PDP Context. At the same time, the guest SGSN has been configured with the functionality to “replace” the requested APN of the subscriber - Override of roaming APN (in combination with the use of DEFAPN functionality); on APN, designed specifically for roaming subscribers who are requesting access to the Internet.
    2. The guest SGSN sends a request to the local DNS server (with the APN already substituted in the request) to determine the guest GGSN that will serve the roaming subscriber.
    3. The guest DNS server returns the IP address of GGNS (or several GGSNs), which serves roaming subscribers.
    4. The guest SGSN sends a request to activate the PDP context to the local GGSN.
    5. The guest GGNS accepts the request and establishes a GTP tunnel, giving the subscriber access to the network.

    We see that the scheme in this case becomes much simpler, but it has its own

    requirements :
    • for guest subscribers of a roaming partner, the so-called functionality must be configured on SGSN Default APN in combination with the setting to overwrite the requested APN ( Override of roaming APN ), which will replace the APN requested in the PDP Context activation request and provide the user with simple access to the Internet, and will also be charged as if the subscriber used packet services in your home network.
    • in the user profile on the HLR, in the field of authorized APNs should be “*”, allowing you to use any valid APNs in the operator’s network.
    • in the user profile on HLR 's should be allowed to use VPLMN - parameter "vplmn allowed -> yes".
    • in guest SGSN, for PLMN roaming subscribers the use of guest PLMN should be allowed - the parameter “vplmn allowed -> yes”.
    • In addition to roaming agreements with the guest operator, the home operator must have some agreements with the Internet service providers through which the guest GGSN (guest operator) has access to the Internet, or coordinate settlements with its roaming partners for its subscribers.

    and limitations :
    • our optimal scheme for providing Internet access for roaming subscribers will not allow providing the subscriber access to the network (VPN access to intranet / LAN_over_GPRS), available only through the home GGSN.
    • the solution is also not acceptable if the home operator uses a scheme for collecting billing data from its home GGSN for roaming subscribers.


    Be careful when using packet data transfer abroad, as most operators use the first scheme for connecting subscribers through the "home" GGSN, which in the case of a "normal" Internet connection is not effective, but financially beneficial for the operator. Correspondingly, the tariffs for packet data transfer in roaming leave much to be desired. An alternative abroad, IMHO, I see the use of free Wi-Fi access points, or the purchase of a roaming SIM card specifically for accessing the network using GPRS / EDGE.

    Small Assistant:

    APN - Access Point Name
    CDR - Call Detail Record
    CAMEL - Customized Applications for Mobile Enhanced Logic
    CAP - CAMEL Application Part
    GTP - GPRS Tunneling Protocol
    HGGSN - Home GGSN
    HPLMN - Home PLMN
    HSGSN - Home SGSN
    MS - Mobile Station
    PDP - Packet Data Protocol
    PLMN - Public Land Mobile Network
    VGGSN - Visiting GGSN
    VPLMN - Visited PLMN
    VSGSN - Visiting SGSN
    WAP - Wireless Application Protocol

    Also popular now: