The purpose of the patch is to handle Network Initiated Context
Activation and PDN connection request as part of EPS Attach procedure
(LTE) in oFono core.
In order to avoid issue regarding CID allocation :
- driver should call the core using ofono_gprs_set_cid_range function
to specify CID range for UE initiated PDN connection
- driver could use a new function to check if the CID is already used
or not : ofono_gprs_is_cid_used, usefull in case the modem is not
using a specific range for UE initiated PDN connection.
- driver will use a new function to notify the gprs atom of a new PDN
connection with all the ip parameters from AT+CGCONTRDP (I can provide
an update later to handle PCSCF and IMS Signaling Flag as well)
commmand : ofono_gprs_context_activated
27.007 section 10.1.1 says
<cid>: a numeric parameter which specifies a particular PDP context
definition. The parameter is local to the TE-
MT interface and is used in other PDP context-related commands. The
range of permitted values (minimum
value = 1) is returned by the test form of the command.
NOTE 1: The <cid>s for network-initiated PDP contexts will have values
outside the ranges indicated for the
<cid> in the test form of the commands +CGDCONT and +CGDSCONT.
According to this, the cid of user initiated context and network
initiated context doesn't overlap.
+CGEV: ME PDN ACT <cid>[,<reason>[,<cid_other>]]
The mobile termination has activated a context. The context represents a
PDN connection in LTE or a Primary
PDP context in GSM/UMTS. The <cid> for this context is provided to the
TE. This event is sent either in result
of explicit context activation request (+CGACT), or in result of
implicit context activation request associated to
attach request (+CGATT=1). The format of the parameters <cid>,
<cid_other> are found in command
We should also be able to get the cid of the default context, from CGEV
ofono_gprs_context_activated is similar to
This function must be call by any gprs driver when :
- a context has been activated without explicit request as part of
attach procedure in LTE (PDN ACT X and X is a unused CID)
- a context has been activated by the Network (NW PDN ACT X, NW ACT X,Y)
Behavior of the function :
List all the context and try to find correct APN with empty username
and empty password.
If such context is not found then create a new one with "Internet"
type only if we are in LTE with no Active context.
Otherwise deactivate the connection.
For the context (found or created):
Update the settings
Set to active
The function will also assign the context to a context driver.
Please correct me if i miss some information.