Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG UE
Commits
0989fa53
Commit
0989fa53
authored
Jul 13, 2016
by
Frédéric Leroy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UE: rename _nas_user_data to at_response and move it to nas_user_t
parent
a9e635d9
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
240 additions
and
238 deletions
+240
-238
openair3/NAS/UE/nas_ue_task.c
openair3/NAS/UE/nas_ue_task.c
+6
-0
openair3/NAS/UE/nas_user.c
openair3/NAS/UE/nas_user.c
+231
-237
openair3/NAS/UE/nas_user.h
openair3/NAS/UE/nas_user.h
+1
-1
openair3/NAS/UE/user_defs.h
openair3/NAS/UE/user_defs.h
+2
-0
No files found.
openair3/NAS/UE/nas_ue_task.c
View file @
0989fa53
...
@@ -88,6 +88,12 @@ void *nas_ue_task(void *args_p)
...
@@ -88,6 +88,12 @@ void *nas_ue_task(void *args_p)
itti_subscribe_event_fd
(
TASK_NAS_UE
,
user
->
fd
);
itti_subscribe_event_fd
(
TASK_NAS_UE
,
user
->
fd
);
}
}
user
->
at_response
=
calloc
(
1
,
sizeof
(
at_response_t
));
if
(
user
->
at_response
==
NULL
)
{
LOG_E
(
NAS
,
"[UE %d] Can't allocate memory for user_at_commands
\n
"
,
0
);
// FIXME stop here
}
/* Initialize NAS user */
/* Initialize NAS user */
nas_user_initialize
(
user
,
&
user_api_emm_callback
,
&
user_api_esm_callback
,
FIRMWARE_VERSION
);
nas_user_initialize
(
user
,
&
user_api_emm_callback
,
&
user_api_esm_callback
,
FIRMWARE_VERSION
);
}
}
...
...
openair3/NAS/UE/nas_user.c
View file @
0989fa53
...
@@ -115,12 +115,6 @@ static _nas_user_procedure_t _nas_user_procedure[AT_COMMAND_ID_MAX] = {
...
@@ -115,12 +115,6 @@ static _nas_user_procedure_t _nas_user_procedure[AT_COMMAND_ID_MAX] = {
_nas_user_proc_cgpaddr
,
/* CGPADDR */
_nas_user_proc_cgpaddr
,
/* CGPADDR */
};
};
/*
* Internal representation of data structure returned to the user
* as the result of NAS procedure function call
*/
static
at_response_t
_nas_user_data
=
{};
/*
/*
* ---------------------------------------------------------------------
* ---------------------------------------------------------------------
* Local UE context
* Local UE context
...
@@ -275,7 +269,7 @@ int nas_user_receive_and_process(nas_user_t *user, char *message)
...
@@ -275,7 +269,7 @@ int nas_user_receive_and_process(nas_user_t *user, char *message)
/* Send response to UserProcess (If not in simulated reception) */
/* Send response to UserProcess (If not in simulated reception) */
if
(
message
==
NULL
)
{
if
(
message
==
NULL
)
{
/* Encode the user data message */
/* Encode the user data message */
bytes
=
user_api_encode_data
(
nas_user_get_data
(),
i
==
nb_command
-
1
);
bytes
=
user_api_encode_data
(
nas_user_get_data
(
user
),
i
==
nb_command
-
1
);
if
(
bytes
==
RETURNerror
)
{
if
(
bytes
==
RETURNerror
)
{
/* Failed to encode the user data message;
/* Failed to encode the user data message;
...
@@ -313,12 +307,12 @@ int nas_user_receive_and_process(nas_user_t *user, char *message)
...
@@ -313,12 +307,12 @@ int nas_user_receive_and_process(nas_user_t *user, char *message)
** Outputs: None **
** Outputs: None **
** Return: RETURNok if the command has been success- **
** Return: RETURNok if the command has been success- **
** fully executed; RETURNerror otherwise **
** fully executed; RETURNerror otherwise **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
int
nas_user_process_data
(
nas_user_t
*
user
,
const
void
*
data
)
int
nas_user_process_data
(
nas_user_t
*
user
,
const
void
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNerror
;
int
ret_code
=
RETURNerror
;
...
@@ -340,15 +334,15 @@ int nas_user_process_data(nas_user_t *user, const void *data)
...
@@ -340,15 +334,15 @@ int nas_user_process_data(nas_user_t *user, const void *data)
ret_code
=
(
*
nas_procedure
)(
user
,
user_data
);
ret_code
=
(
*
nas_procedure
)(
user
,
user_data
);
}
else
{
}
else
{
/* AT command related to result format only */
/* AT command related to result format only */
_nas_user_data
.
id
=
user_data
->
id
;
at_response
->
id
=
user_data
->
id
;
_nas_user_data
.
type
=
user_data
->
type
;
at_response
->
type
=
user_data
->
type
;
_nas_user_data
.
mask
=
user_data
->
mask
;
at_response
->
mask
=
user_data
->
mask
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
ret_code
=
RETURNok
;
ret_code
=
RETURNok
;
}
}
}
else
{
}
else
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Data to be processed is null"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Data to be processed is null"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
LOG_FUNC_RETURN
(
ret_code
);
LOG_FUNC_RETURN
(
ret_code
);
...
@@ -371,10 +365,10 @@ int nas_user_process_data(nas_user_t *user, const void *data)
...
@@ -371,10 +365,10 @@ int nas_user_process_data(nas_user_t *user, const void *data)
** Others: None **
** Others: None **
** **
** **
***************************************************************************/
***************************************************************************/
const
void
*
nas_user_get_data
(
void
)
const
void
*
nas_user_get_data
(
nas_user_t
*
user
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
LOG_FUNC_RETURN
((
void
*
)
&
_nas_user_data
);
LOG_FUNC_RETURN
((
void
*
)
user
->
at_response
);
}
}
/****************************************************************************/
/****************************************************************************/
...
@@ -396,21 +390,21 @@ const void *nas_user_get_data(void)
...
@@ -396,21 +390,21 @@ const void *nas_user_get_data(void)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgsn
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgsn
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgsn_resp_t
*
cgsn
=
&
_nas_user_data
.
response
.
cgsn
;
at_cgsn_resp_t
*
cgsn
=
&
at_response
->
response
.
cgsn
;
memset
(
cgsn
,
0
,
sizeof
(
at_cgsn_resp_t
));
memset
(
cgsn
,
0
,
sizeof
(
at_cgsn_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGSN_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGSN_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
...
@@ -426,7 +420,7 @@ static int _nas_user_proc_cgsn(nas_user_t *user, const at_command_t *data)
...
@@ -426,7 +420,7 @@ static int _nas_user_proc_cgsn(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGSN command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGSN command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -447,21 +441,21 @@ static int _nas_user_proc_cgsn(nas_user_t *user, const at_command_t *data)
...
@@ -447,21 +441,21 @@ static int _nas_user_proc_cgsn(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgmi
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgmi
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgmi_resp_t
*
cgmi
=
&
_nas_user_data
.
response
.
cgmi
;
at_cgmi_resp_t
*
cgmi
=
&
at_response
->
response
.
cgmi
;
memset
(
cgmi
,
0
,
sizeof
(
at_cgmi_resp_t
));
memset
(
cgmi
,
0
,
sizeof
(
at_cgmi_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGMI_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGMI_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
...
@@ -477,7 +471,7 @@ static int _nas_user_proc_cgmi(nas_user_t *user, const at_command_t *data)
...
@@ -477,7 +471,7 @@ static int _nas_user_proc_cgmi(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGMI command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGMI command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -498,21 +492,21 @@ static int _nas_user_proc_cgmi(nas_user_t *user, const at_command_t *data)
...
@@ -498,21 +492,21 @@ static int _nas_user_proc_cgmi(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgmm
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgmm
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgmm_resp_t
*
cgmm
=
&
_nas_user_data
.
response
.
cgmm
;
at_cgmm_resp_t
*
cgmm
=
&
at_response
->
response
.
cgmm
;
memset
(
cgmm
,
0
,
sizeof
(
at_cgmm_resp_t
));
memset
(
cgmm
,
0
,
sizeof
(
at_cgmm_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGMM_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGMM_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
...
@@ -528,7 +522,7 @@ static int _nas_user_proc_cgmm(nas_user_t *user, const at_command_t *data)
...
@@ -528,7 +522,7 @@ static int _nas_user_proc_cgmm(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGMM command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGMM command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -550,22 +544,22 @@ static int _nas_user_proc_cgmm(nas_user_t *user, const at_command_t *data)
...
@@ -550,22 +544,22 @@ static int _nas_user_proc_cgmm(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgmr
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgmr
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgmr_resp_t
*
cgmr
=
&
_nas_user_data
.
response
.
cgmr
;
at_cgmr_resp_t
*
cgmr
=
&
at_response
->
response
.
cgmr
;
memset
(
cgmr
,
0
,
sizeof
(
at_cgmr_resp_t
));
memset
(
cgmr
,
0
,
sizeof
(
at_cgmr_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGMR_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGMR_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
...
@@ -581,7 +575,7 @@ static int _nas_user_proc_cgmr(nas_user_t *user, const at_command_t *data)
...
@@ -581,7 +575,7 @@ static int _nas_user_proc_cgmr(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGMR command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGMR command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -606,27 +600,27 @@ static int _nas_user_proc_cgmr(nas_user_t *user, const at_command_t *data)
...
@@ -606,27 +600,27 @@ static int _nas_user_proc_cgmr(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cimi
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cimi
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cimi_resp_t
*
cimi
=
&
_nas_user_data
.
response
.
cimi
;
at_cimi_resp_t
*
cimi
=
&
at_response
->
response
.
cimi
;
memset
(
cimi
,
0
,
sizeof
(
at_cimi_resp_t
));
memset
(
cimi
,
0
,
sizeof
(
at_cimi_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CIMI_MASK
;
at_response
->
mask
=
AT_RESPONSE_CIMI_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -635,7 +629,7 @@ static int _nas_user_proc_cimi(nas_user_t *user, const at_command_t *data)
...
@@ -635,7 +629,7 @@ static int _nas_user_proc_cimi(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get IMSI number"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get IMSI number"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -647,7 +641,7 @@ static int _nas_user_proc_cimi(nas_user_t *user, const at_command_t *data)
...
@@ -647,7 +641,7 @@ static int _nas_user_proc_cimi(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CIMI command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CIMI command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -667,24 +661,24 @@ static int _nas_user_proc_cimi(nas_user_t *user, const at_command_t *data)
...
@@ -667,24 +661,24 @@ static int _nas_user_proc_cimi(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cfun
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cfun
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cfun_resp_t
*
cfun
=
&
_nas_user_data
.
response
.
cfun
;
at_cfun_resp_t
*
cfun
=
&
at_response
->
response
.
cfun
;
memset
(
cfun
,
0
,
sizeof
(
at_cfun_resp_t
));
memset
(
cfun
,
0
,
sizeof
(
at_cfun_resp_t
));
int
fun
=
AT_CFUN_FUN_DEFAULT
;
int
fun
=
AT_CFUN_FUN_DEFAULT
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CFUN_MASK
;
at_response
->
mask
=
AT_RESPONSE_CFUN_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
...
@@ -700,7 +694,7 @@ static int _nas_user_proc_cfun(nas_user_t *user, const at_command_t *data)
...
@@ -700,7 +694,7 @@ static int _nas_user_proc_cfun(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <rst> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <rst> parameter is not valid"
" (%d)"
,
data
->
command
.
cfun
.
rst
);
" (%d)"
,
data
->
command
.
cfun
.
rst
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -713,7 +707,7 @@ static int _nas_user_proc_cfun(nas_user_t *user, const at_command_t *data)
...
@@ -713,7 +707,7 @@ static int _nas_user_proc_cfun(nas_user_t *user, const at_command_t *data)
* is not valid; return an error message */
* is not valid; return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <fun> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <fun> parameter is not valid"
" (%d)"
,
data
->
command
.
cfun
.
fun
);
" (%d)"
,
data
->
command
.
cfun
.
fun
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -759,7 +753,7 @@ static int _nas_user_proc_cfun(nas_user_t *user, const at_command_t *data)
...
@@ -759,7 +753,7 @@ static int _nas_user_proc_cfun(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CFUN command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CFUN command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -786,15 +780,16 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
...
@@ -786,15 +780,16 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cpin_resp_t
*
cpin
=
&
_nas_user_data
.
response
.
cpin
;
at_cpin_resp_t
*
cpin
=
&
at_response
->
response
.
cpin
;
memset
(
cpin
,
0
,
sizeof
(
at_cpin_resp_t
));
memset
(
cpin
,
0
,
sizeof
(
at_cpin_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CPIN_MASK
;
at_response
->
mask
=
AT_RESPONSE_CPIN_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
...
@@ -810,7 +805,7 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
...
@@ -810,7 +805,7 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
/* The PIN code is NOT matching; return an error message */
/* The PIN code is NOT matching; return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - PIN code is not correct "
LOG_TRACE
(
ERROR
,
"USR-MAIN - PIN code is not correct "
"(%s)"
,
data
->
command
.
cpin
.
pin
);
"(%s)"
,
data
->
command
.
cpin
.
pin
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PASSWD
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PASSWD
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
}
else
{
}
else
{
/* The PIN code is matching; update the user's PIN
/* The PIN code is matching; update the user's PIN
...
@@ -820,7 +815,7 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
...
@@ -820,7 +815,7 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
}
else
{
}
else
{
/* The MT is NOT waiting for PIN password;
/* The MT is NOT waiting for PIN password;
* return an error message */
* return an error message */
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_ALLOWED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_ALLOWED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
}
}
...
@@ -844,7 +839,7 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
...
@@ -844,7 +839,7 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
/* Other types of AT CPIN command are not valid */
/* Other types of AT CPIN command are not valid */
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CPIN command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CPIN command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -865,27 +860,27 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
...
@@ -865,27 +860,27 @@ static int _nas_user_proc_cpin(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_csq
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_csq
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_csq_resp_t
*
csq
=
&
_nas_user_data
.
response
.
csq
;
at_csq_resp_t
*
csq
=
&
at_response
->
response
.
csq
;
memset
(
csq
,
0
,
sizeof
(
at_csq_resp_t
));
memset
(
csq
,
0
,
sizeof
(
at_csq_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CSQ_MASK
;
at_response
->
mask
=
AT_RESPONSE_CSQ_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -906,7 +901,7 @@ static int _nas_user_proc_csq(nas_user_t *user, const at_command_t *data)
...
@@ -906,7 +901,7 @@ static int _nas_user_proc_csq(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CSQ command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CSQ command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -926,27 +921,27 @@ static int _nas_user_proc_csq(nas_user_t *user, const at_command_t *data)
...
@@ -926,27 +921,27 @@ static int _nas_user_proc_csq(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cesq
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cesq
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cesq_resp_t
*
cesq
=
&
_nas_user_data
.
response
.
cesq
;
at_cesq_resp_t
*
cesq
=
&
at_response
->
response
.
cesq
;
memset
(
cesq
,
0
,
sizeof
(
at_cesq_resp_t
));
memset
(
cesq
,
0
,
sizeof
(
at_cesq_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CESQ_MASK
;
at_response
->
mask
=
AT_RESPONSE_CESQ_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -969,7 +964,7 @@ static int _nas_user_proc_cesq(nas_user_t *user, const at_command_t *data)
...
@@ -969,7 +964,7 @@ static int _nas_user_proc_cesq(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CESQ command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CESQ command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -991,16 +986,16 @@ static int _nas_user_proc_cesq(nas_user_t *user, const at_command_t *data)
...
@@ -991,16 +986,16 @@ static int _nas_user_proc_cesq(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cops
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cops
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cops_resp_t
*
cops
=
&
_nas_user_data
.
response
.
cops
;
at_cops_resp_t
*
cops
=
&
at_response
->
response
.
cops
;
memset
(
cops
,
0
,
sizeof
(
at_cops_resp_t
));
memset
(
cops
,
0
,
sizeof
(
at_cops_resp_t
));
static
int
read_format
=
AT_COPS_FORMAT_DEFAULT
;
static
int
read_format
=
AT_COPS_FORMAT_DEFAULT
;
...
@@ -1013,15 +1008,15 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1013,15 +1008,15 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
int
oper_is_selected
;
int
oper_is_selected
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_NO_PARAM
;
at_response
->
mask
=
AT_RESPONSE_NO_PARAM
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -1057,7 +1052,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1057,7 +1052,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
/* <oper> field shall be present */
/* <oper> field shall be present */
if
(
!
(
data
->
mask
&
AT_COPS_OPER_MASK
)
)
{
if
(
!
(
data
->
mask
&
AT_COPS_OPER_MASK
)
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - <oper> parameter is not present"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - <oper> parameter is not present"
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1065,7 +1060,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1065,7 +1060,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
/* <format> field shall be present */
/* <format> field shall be present */
if
(
!
(
data
->
mask
&
AT_COPS_FORMAT_MASK
)
)
{
if
(
!
(
data
->
mask
&
AT_COPS_FORMAT_MASK
)
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - <format> parameter is not present"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - <format> parameter is not present"
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1076,7 +1071,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1076,7 +1071,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
/* The value of <format> field is not valid */
/* The value of <format> field is not valid */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <format> parameter is not valid (%d)"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - <format> parameter is not valid (%d)"
,
data
->
command
.
cops
.
format
);
data
->
command
.
cops
.
format
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1090,7 +1085,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1090,7 +1085,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
/* The value of <AcT> field is not valid */
/* The value of <AcT> field is not valid */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <AcT> parameter is not valid (%d)"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - <AcT> parameter is not valid (%d)"
,
data
->
command
.
cops
.
AcT
);
data
->
command
.
cops
.
AcT
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1118,7 +1113,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1118,7 +1113,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
/* The value of <format> field is not valid */
/* The value of <format> field is not valid */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <format> parameter is not valid (%d)"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - <format> parameter is not valid (%d)"
,
data
->
command
.
cops
.
format
);
data
->
command
.
cops
.
format
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1134,7 +1129,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1134,7 +1129,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - <mode> parameter is not supported (%d)"
,
mode
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - <mode> parameter is not supported (%d)"
,
mode
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1150,7 +1145,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1150,7 +1145,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Network deregistration failed"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Network deregistration failed"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
break
;
break
;
}
}
}
else
if
(
mode
!=
AT_COPS_FORMAT
)
{
}
else
if
(
mode
!=
AT_COPS_FORMAT
)
{
...
@@ -1161,7 +1156,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1161,7 +1156,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Network registration failed (<mode>=%d)"
,
mode
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Network registration failed (<mode>=%d)"
,
mode
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
break
;
break
;
}
}
}
}
...
@@ -1183,7 +1178,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1183,7 +1178,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration data (<mode>=%d)"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration data (<mode>=%d)"
,
mode
);
mode
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
break
;
break
;
}
}
...
@@ -1199,11 +1194,11 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1199,11 +1194,11 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
/* Set optional parameter bitmask */
/* Set optional parameter bitmask */
if
(
oper_is_selected
)
{
if
(
oper_is_selected
)
{
cops
->
get
.
format
=
read_format
;
cops
->
get
.
format
=
read_format
;
_nas_user_data
.
mask
|=
(
AT_COPS_RESP_FORMAT_MASK
|
at_response
->
mask
|=
(
AT_COPS_RESP_FORMAT_MASK
|
AT_COPS_RESP_OPER_MASK
);
AT_COPS_RESP_OPER_MASK
);
if
(
cops
->
get
.
AcT
!=
NET_ACCESS_UNAVAILABLE
)
{
if
(
cops
->
get
.
AcT
!=
NET_ACCESS_UNAVAILABLE
)
{
_nas_user_data
.
mask
|=
AT_COPS_RESP_ACT_MASK
;
at_response
->
mask
|=
AT_COPS_RESP_ACT_MASK
;
}
}
}
}
...
@@ -1220,7 +1215,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1220,7 +1215,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+COPS command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+COPS command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1240,27 +1235,27 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
...
@@ -1240,27 +1235,27 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgatt
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgatt
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgatt_resp_t
*
cgatt
=
&
_nas_user_data
.
response
.
cgatt
;
at_cgatt_resp_t
*
cgatt
=
&
at_response
->
response
.
cgatt
;
memset
(
cgatt
,
0
,
sizeof
(
at_cgatt_resp_t
));
memset
(
cgatt
,
0
,
sizeof
(
at_cgatt_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGATT_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGATT_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -1275,7 +1270,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
...
@@ -1275,7 +1270,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <state> parameter is not valid (%d)"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - <state> parameter is not valid (%d)"
,
data
->
command
.
cgatt
.
state
);
data
->
command
.
cgatt
.
state
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1295,7 +1290,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
...
@@ -1295,7 +1290,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to attach/detach "
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to attach/detach "
"to/from EPS service (<state>=%d)"
,
"to/from EPS service (<state>=%d)"
,
data
->
command
.
cgatt
.
state
);
data
->
command
.
cgatt
.
state
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
}
}
...
@@ -1324,7 +1319,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
...
@@ -1324,7 +1319,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGATT command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGATT command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1345,29 +1340,29 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
...
@@ -1345,29 +1340,29 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_creg
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_creg
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_creg_resp_t
*
creg
=
&
_nas_user_data
.
response
.
creg
;
at_creg_resp_t
*
creg
=
&
at_response
->
response
.
creg
;
memset
(
creg
,
0
,
sizeof
(
at_creg_resp_t
));
memset
(
creg
,
0
,
sizeof
(
at_creg_resp_t
));
static
int
n
=
AT_CREG_N_DEFAULT
;
static
int
n
=
AT_CREG_N_DEFAULT
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_NO_PARAM
;
at_response
->
mask
=
AT_RESPONSE_NO_PARAM
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -1384,7 +1379,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
...
@@ -1384,7 +1379,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
" (%d)"
,
data
->
command
.
creg
.
n
);
" (%d)"
,
data
->
command
.
creg
.
n
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1410,7 +1405,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
...
@@ -1410,7 +1405,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to disable logging of network notification"
);
"USR-MAIN - Failed to disable logging of network notification"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1425,7 +1420,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
...
@@ -1425,7 +1420,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of registration status"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of registration status"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1456,7 +1451,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
...
@@ -1456,7 +1451,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration status"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration status"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1473,7 +1468,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
...
@@ -1473,7 +1468,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CREG command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CREG command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1494,29 +1489,29 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
...
@@ -1494,29 +1489,29 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgreg
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgreg
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgreg_resp_t
*
cgreg
=
&
_nas_user_data
.
response
.
cgreg
;
at_cgreg_resp_t
*
cgreg
=
&
at_response
->
response
.
cgreg
;
memset
(
cgreg
,
0
,
sizeof
(
at_cgreg_resp_t
));
memset
(
cgreg
,
0
,
sizeof
(
at_cgreg_resp_t
));
static
int
n
=
AT_CGREG_N_DEFAULT
;
static
int
n
=
AT_CGREG_N_DEFAULT
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_NO_PARAM
;
at_response
->
mask
=
AT_RESPONSE_NO_PARAM
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -1533,7 +1528,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
...
@@ -1533,7 +1528,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
" (%d)"
,
data
->
command
.
cgreg
.
n
);
" (%d)"
,
data
->
command
.
cgreg
.
n
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1559,7 +1554,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
...
@@ -1559,7 +1554,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to disable logging of network notification"
);
"USR-MAIN - Failed to disable logging of network notification"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1574,7 +1569,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
...
@@ -1574,7 +1569,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of registration status"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of registration status"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1605,7 +1600,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
...
@@ -1605,7 +1600,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration status"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration status"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1622,7 +1617,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
...
@@ -1622,7 +1617,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGREG command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGREG command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1643,29 +1638,29 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
...
@@ -1643,29 +1638,29 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cereg
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cereg
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cereg_resp_t
*
cereg
=
&
_nas_user_data
.
response
.
cereg
;
at_cereg_resp_t
*
cereg
=
&
at_response
->
response
.
cereg
;
memset
(
cereg
,
0
,
sizeof
(
at_cereg_resp_t
));
memset
(
cereg
,
0
,
sizeof
(
at_cereg_resp_t
));
static
int
n
=
AT_CEREG_N_DEFAULT
;
static
int
n
=
AT_CEREG_N_DEFAULT
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_NO_PARAM
;
at_response
->
mask
=
AT_RESPONSE_NO_PARAM
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -1682,7 +1677,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1682,7 +1677,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
" (%d)"
,
data
->
command
.
cereg
.
n
);
" (%d)"
,
data
->
command
.
cereg
.
n
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1708,7 +1703,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1708,7 +1703,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to disable logging of network notification"
);
"USR-MAIN - Failed to disable logging of network notification"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1719,7 +1714,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1719,7 +1714,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of location information"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of location information"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1731,7 +1726,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1731,7 +1726,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of registration status"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to enable logging of registration status"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1759,16 +1754,16 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1759,16 +1754,16 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get location information"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get location information"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
break
;
break
;
}
}
if
(
cereg
->
tac
[
0
]
!=
0
)
{
if
(
cereg
->
tac
[
0
]
!=
0
)
{
_nas_user_data
.
mask
|=
(
AT_CEREG_RESP_TAC_MASK
|
at_response
->
mask
|=
(
AT_CEREG_RESP_TAC_MASK
|
AT_CEREG_RESP_CI_MASK
);
AT_CEREG_RESP_CI_MASK
);
if
(
cereg
->
AcT
!=
NET_ACCESS_UNAVAILABLE
)
{
if
(
cereg
->
AcT
!=
NET_ACCESS_UNAVAILABLE
)
{
_nas_user_data
.
mask
|=
(
AT_CEREG_RESP_ACT_MASK
);
at_response
->
mask
|=
(
AT_CEREG_RESP_ACT_MASK
);
}
}
}
}
...
@@ -1781,7 +1776,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1781,7 +1776,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration status"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get registration status"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -1798,7 +1793,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1798,7 +1793,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CEREG command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CEREG command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1824,16 +1819,16 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
...
@@ -1824,16 +1819,16 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgdcont
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgdcont
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgdcont_get_t
*
cgdcont
=
&
_nas_user_data
.
response
.
cgdcont
.
get
;
at_cgdcont_get_t
*
cgdcont
=
&
at_response
->
response
.
cgdcont
.
get
;
memset
(
cgdcont
,
0
,
sizeof
(
at_cgdcont_resp_t
));
memset
(
cgdcont
,
0
,
sizeof
(
at_cgdcont_resp_t
));
int
cid
=
AT_CGDCONT_CID_DEFAULT
;
int
cid
=
AT_CGDCONT_CID_DEFAULT
;
...
@@ -1845,15 +1840,15 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1845,15 +1840,15 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
int
im_cn_signalling
=
AT_CGDCONT_IM_CM_DEFAULT
;
int
im_cn_signalling
=
AT_CGDCONT_IM_CM_DEFAULT
;
int
reset_pdn
=
TRUE
;
int
reset_pdn
=
TRUE
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_NO_PARAM
;
at_response
->
mask
=
AT_RESPONSE_NO_PARAM
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -1867,7 +1862,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1867,7 +1862,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <cid> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <cid> parameter is not valid"
" (%d)"
,
data
->
command
.
cgdcont
.
cid
);
" (%d)"
,
data
->
command
.
cgdcont
.
cid
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1887,7 +1882,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1887,7 +1882,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <PDN_type> parameter is not "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <PDN_type> parameter is not "
"valid (%s)"
,
data
->
command
.
cgdcont
.
PDP_type
);
"valid (%s)"
,
data
->
command
.
cgdcont
.
PDP_type
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1906,7 +1901,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1906,7 +1901,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
* not valid; return an error message */
* not valid; return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <d_comp> parameter is not "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <d_comp> parameter is not "
"valid (%d)"
,
data
->
command
.
cgdcont
.
d_comp
);
"valid (%d)"
,
data
->
command
.
cgdcont
.
d_comp
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1921,7 +1916,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1921,7 +1916,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
* not valid; return an error message */
* not valid; return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <h_comp> parameter is not "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <h_comp> parameter is not "
"valid (%d)"
,
data
->
command
.
cgdcont
.
h_comp
);
"valid (%d)"
,
data
->
command
.
cgdcont
.
h_comp
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1937,7 +1932,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1937,7 +1932,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
LOG_TRACE
(
ERROR
,
"USR-MAIN - <IPv4AddrAlloc> parameter "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <IPv4AddrAlloc> parameter "
"is not valid (%d)"
,
"is not valid (%d)"
,
data
->
command
.
cgdcont
.
IPv4AddrAlloc
);
data
->
command
.
cgdcont
.
IPv4AddrAlloc
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1953,7 +1948,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1953,7 +1948,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
LOG_TRACE
(
ERROR
,
"USR-MAIN - <emergency indication> "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <emergency indication> "
"parameter is not valid (%d)"
,
"parameter is not valid (%d)"
,
data
->
command
.
cgdcont
.
emergency_indication
);
data
->
command
.
cgdcont
.
emergency_indication
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1969,7 +1964,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1969,7 +1964,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
LOG_TRACE
(
ERROR
,
"USR-MAIN - <P-CSCF_discovery> "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <P-CSCF_discovery> "
"parameter is not valid (%d)"
,
"parameter is not valid (%d)"
,
data
->
command
.
cgdcont
.
P_CSCF_discovery
);
data
->
command
.
cgdcont
.
P_CSCF_discovery
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -1986,7 +1981,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -1986,7 +1981,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
LOG_TRACE
(
ERROR
,
"USR-MAIN - <IM_CN_Signalling_Flag_Ind> "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <IM_CN_Signalling_Flag_Ind> "
"parameter is not valid (%d)"
,
"parameter is not valid (%d)"
,
data
->
command
.
cgdcont
.
IM_CN_Signalling_Flag_Ind
);
data
->
command
.
cgdcont
.
IM_CN_Signalling_Flag_Ind
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2011,7 +2006,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -2011,7 +2006,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to setup PDN connection "
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to setup PDN connection "
"(<cid>=%d)"
,
data
->
command
.
cgdcont
.
cid
);
"(<cid>=%d)"
,
data
->
command
.
cgdcont
.
cid
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2028,7 +2023,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -2028,7 +2023,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
if
(
cgdcont
->
n_pdns
==
0
)
{
if
(
cgdcont
->
n_pdns
==
0
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - No any PDN context is defined"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - No any PDN context is defined"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2043,11 +2038,11 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -2043,11 +2038,11 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
if
(
cid_max
>
AT_CGDCONT_RESP_SIZE
)
{
if
(
cid_max
>
AT_CGDCONT_RESP_SIZE
)
{
/* The range is defined by the user interface */
/* The range is defined by the user interface */
_nas_user_data
.
response
.
cgdcont
.
tst
.
n_cid
=
at_response
->
response
.
cgdcont
.
tst
.
n_cid
=
AT_CGDCONT_RESP_SIZE
;
AT_CGDCONT_RESP_SIZE
;
}
else
{
}
else
{
/* The range is defined by the ESM sublayer application */
/* The range is defined by the ESM sublayer application */
_nas_user_data
.
response
.
cgdcont
.
tst
.
n_cid
=
cid_max
;
at_response
->
response
.
cgdcont
.
tst
.
n_cid
=
cid_max
;
}
}
}
}
break
;
break
;
...
@@ -2055,7 +2050,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -2055,7 +2050,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGDCONT command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGDCONT command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2076,30 +2071,30 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
...
@@ -2076,30 +2071,30 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgact
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgact
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgact_resp_t
*
cgact
=
&
_nas_user_data
.
response
.
cgact
;
at_cgact_resp_t
*
cgact
=
&
at_response
->
response
.
cgact
;
memset
(
cgact
,
0
,
sizeof
(
at_cgact_resp_t
));
memset
(
cgact
,
0
,
sizeof
(
at_cgact_resp_t
));
int
cid
=
-
1
;
int
cid
=
-
1
;
int
state
=
AT_CGACT_STATE_DEFAULT
;
int
state
=
AT_CGACT_STATE_DEFAULT
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGACT_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGACT_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -2114,7 +2109,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
...
@@ -2114,7 +2109,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
* not valid; return an error message */
* not valid; return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <state> parameter is "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <state> parameter is "
"not valid (%d)"
,
data
->
command
.
cgact
.
state
);
"not valid (%d)"
,
data
->
command
.
cgact
.
state
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2128,7 +2123,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
...
@@ -2128,7 +2123,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <cid> parameter is "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <cid> parameter is "
"not valid (%d)"
,
data
->
command
.
cgact
.
cid
);
"not valid (%d)"
,
data
->
command
.
cgact
.
cid
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2152,7 +2147,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
...
@@ -2152,7 +2147,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
"(<state>=%d,<cid>=%d)"
,
"(<state>=%d,<cid>=%d)"
,
(
state
!=
AT_CGACT_ACTIVATED
)
?
"deactivate"
:
(
state
!=
AT_CGACT_ACTIVATED
)
?
"deactivate"
:
"activate"
,
state
,
cid
);
"activate"
,
state
,
cid
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2167,7 +2162,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
...
@@ -2167,7 +2162,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
if
(
cgact
->
n_pdns
==
0
)
{
if
(
cgact
->
n_pdns
==
0
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - No any PDN context is defined"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - No any PDN context is defined"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2182,7 +2177,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
...
@@ -2182,7 +2177,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGACT command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGACT command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2204,7 +2199,6 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
...
@@ -2204,7 +2199,6 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cmee
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cmee
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
...
@@ -2212,15 +2206,16 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
...
@@ -2212,15 +2206,16 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
LOG_FUNC_IN
;
LOG_FUNC_IN
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cmee_resp_t
*
cmee
=
&
_nas_user_data
.
response
.
cmee
;
at_response_t
*
at_response
=
user
->
at_response
;
at_cmee_resp_t
*
cmee
=
&
at_response
->
response
.
cmee
;
memset
(
cmee
,
0
,
sizeof
(
at_cmee_resp_t
));
memset
(
cmee
,
0
,
sizeof
(
at_cmee_resp_t
));
int
n
=
AT_CMEE_N_DEFAULT
;
int
n
=
AT_CMEE_N_DEFAULT
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CMEE_MASK
;
at_response
->
mask
=
AT_RESPONSE_CMEE_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
/* ATV0, ATV1 response format commands */
case
AT_COMMAND_ACT
:
/* ATV0, ATV1 response format commands */
...
@@ -2238,7 +2233,7 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
...
@@ -2238,7 +2233,7 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <n> parameter is not valid"
" (%d)"
,
data
->
command
.
cmee
.
n
);
" (%d)"
,
data
->
command
.
cmee
.
n
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2282,7 +2277,7 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
...
@@ -2282,7 +2277,7 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
if
(
cmee
->
n
==
RETURNerror
)
{
if
(
cmee
->
n
==
RETURNerror
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get format of the final result code"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get format of the final result code"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2296,7 +2291,7 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
...
@@ -2296,7 +2291,7 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CMEE command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CMEE command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2317,21 +2312,21 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
...
@@ -2317,21 +2312,21 @@ static int _nas_user_proc_cmee(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_clck
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_clck
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_clck_resp_t
*
clck
=
&
_nas_user_data
.
response
.
clck
;
at_clck_resp_t
*
clck
=
&
at_response
->
response
.
clck
;
memset
(
clck
,
0
,
sizeof
(
at_clck_resp_t
));
memset
(
clck
,
0
,
sizeof
(
at_clck_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CLCK_MASK
;
at_response
->
mask
=
AT_RESPONSE_CLCK_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
...
@@ -2347,7 +2342,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2347,7 +2342,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
/* Facilities other than SIM is not supported */
/* Facilities other than SIM is not supported */
LOG_TRACE
(
ERROR
,
"USR-MAIN - Facility is not supported (%s)"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - Facility is not supported (%s)"
,
data
->
command
.
clck
.
fac
);
data
->
command
.
clck
.
fac
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2360,7 +2355,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2360,7 +2355,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
/* The PIN code is NOT matching; return an error message */
/* The PIN code is NOT matching; return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - Password is not correct "
LOG_TRACE
(
ERROR
,
"USR-MAIN - Password is not correct "
"(%s)"
,
data
->
command
.
clck
.
passwd
);
"(%s)"
,
data
->
command
.
clck
.
passwd
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PASSWD
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PASSWD
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2375,14 +2370,14 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2375,14 +2370,14 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
/* unlock requires password */
/* unlock requires password */
LOG_TRACE
(
ERROR
,
"USR-MAIN - unlock mode of operation "
LOG_TRACE
(
ERROR
,
"USR-MAIN - unlock mode of operation "
"requires a password"
);
"requires a password"
);
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
LOG_TRACE
(
ERROR
,
"USR-MAIN - unlock mode of operation "
LOG_TRACE
(
ERROR
,
"USR-MAIN - unlock mode of operation "
"is not supported"
);
"is not supported"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
...
@@ -2393,14 +2388,14 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2393,14 +2388,14 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
/* unlock requires password */
/* unlock requires password */
LOG_TRACE
(
ERROR
,
"USR-MAIN - lock mode of operation "
LOG_TRACE
(
ERROR
,
"USR-MAIN - lock mode of operation "
"requires a password"
);
"requires a password"
);
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
LOG_TRACE
(
ERROR
,
"USR-MAIN - lock mode of operation "
LOG_TRACE
(
ERROR
,
"USR-MAIN - lock mode of operation "
"is not supported"
);
"is not supported"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
...
@@ -2412,7 +2407,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2412,7 +2407,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - <mode> parameter is not valid"
LOG_TRACE
(
ERROR
,
"USR-MAIN - <mode> parameter is not valid"
" (%d)"
,
data
->
command
.
clck
.
mode
);
" (%d)"
,
data
->
command
.
clck
.
mode
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2428,7 +2423,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2428,7 +2423,7 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CLCK command type %d is not supported"
,
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CLCK command type %d is not supported"
,
data
->
type
);
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2448,29 +2443,29 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
...
@@ -2448,29 +2443,29 @@ static int _nas_user_proc_clck(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cgpaddr
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cgpaddr
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cgpaddr_resp_t
*
cgpaddr
=
&
_nas_user_data
.
response
.
cgpaddr
;
at_cgpaddr_resp_t
*
cgpaddr
=
&
at_response
->
response
.
cgpaddr
;
memset
(
cgpaddr
,
0
,
sizeof
(
at_cgpaddr_resp_t
));
memset
(
cgpaddr
,
0
,
sizeof
(
at_cgpaddr_resp_t
));
int
cid
=
-
1
;
int
cid
=
-
1
;
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CGPADDR_MASK
;
at_response
->
mask
=
AT_RESPONSE_CGPADDR_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_SET
:
case
AT_COMMAND_SET
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -2484,7 +2479,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
...
@@ -2484,7 +2479,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
* return an error message */
* return an error message */
LOG_TRACE
(
ERROR
,
"USR-MAIN - <cid> parameter is "
LOG_TRACE
(
ERROR
,
"USR-MAIN - <cid> parameter is "
"not valid (%d)"
,
data
->
command
.
cgpaddr
.
cid
);
"not valid (%d)"
,
data
->
command
.
cgpaddr
.
cid
);
_nas_user_data
.
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
at_response
->
cause_code
=
AT_ERROR_INCORRECT_PARAMETERS
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2502,7 +2497,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
...
@@ -2502,7 +2497,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
if
(
cgpaddr
->
n_pdns
==
0
)
{
if
(
cgpaddr
->
n_pdns
==
0
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - No any PDN context is defined"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - No any PDN context is defined"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2520,7 +2515,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
...
@@ -2520,7 +2515,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGPADDR command type %d is "
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CGPADDR command type %d is "
"not supported"
,
data
->
type
);
"not supported"
,
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2540,27 +2535,27 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
...
@@ -2540,27 +2535,27 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_cnum
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_cnum
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
nas_user_context_t
*
nas_user_context
=
user
->
nas_user_context
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_cnum_resp_t
*
cnum
=
&
_nas_user_data
.
response
.
cnum
;
at_cnum_resp_t
*
cnum
=
&
at_response
->
response
.
cnum
;
memset
(
cnum
,
0
,
sizeof
(
at_cnum_resp_t
));
memset
(
cnum
,
0
,
sizeof
(
at_cnum_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CNUM_MASK
;
at_response
->
mask
=
AT_RESPONSE_CNUM_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
if
(
nas_user_context
->
sim_status
!=
NAS_USER_READY
)
{
_nas_user_data
.
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
at_response
->
cause_code
=
AT_ERROR_SIM_PIN_REQUIRED
;
LOG_FUNC_RETURN
(
RETURNerror
);
LOG_FUNC_RETURN
(
RETURNerror
);
}
}
...
@@ -2569,7 +2564,7 @@ static int _nas_user_proc_cnum(nas_user_t *user, const at_command_t *data)
...
@@ -2569,7 +2564,7 @@ static int _nas_user_proc_cnum(nas_user_t *user, const at_command_t *data)
if
(
ret_code
!=
RETURNok
)
{
if
(
ret_code
!=
RETURNok
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get MS dialing number"
);
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get MS dialing number"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2581,7 +2576,7 @@ static int _nas_user_proc_cnum(nas_user_t *user, const at_command_t *data)
...
@@ -2581,7 +2576,7 @@ static int _nas_user_proc_cnum(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CNUM command type %d is "
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CNUM command type %d is "
"not supported"
,
data
->
type
);
"not supported"
,
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
@@ -2601,21 +2596,20 @@ static int _nas_user_proc_cnum(nas_user_t *user, const at_command_t *data)
...
@@ -2601,21 +2596,20 @@ static int _nas_user_proc_cnum(nas_user_t *user, const at_command_t *data)
** **
** **
** Outputs: None **
** Outputs: None **
** Return: RETURNok; RETURNerror; **
** Return: RETURNok; RETURNerror; **
** Others: _nas_user_data **
** **
** **
***************************************************************************/
***************************************************************************/
static
int
_nas_user_proc_clac
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
static
int
_nas_user_proc_clac
(
nas_user_t
*
user
,
const
at_command_t
*
data
)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
at_response_t
*
at_response
=
user
->
at_response
;
int
ret_code
=
RETURNok
;
int
ret_code
=
RETURNok
;
at_clac_resp_t
*
clac
=
&
_nas_user_data
.
response
.
clac
;
at_clac_resp_t
*
clac
=
&
at_response
->
response
.
clac
;
memset
(
clac
,
0
,
sizeof
(
at_clac_resp_t
));
memset
(
clac
,
0
,
sizeof
(
at_clac_resp_t
));
_nas_user_data
.
id
=
data
->
id
;
at_response
->
id
=
data
->
id
;
_nas_user_data
.
type
=
data
->
type
;
at_response
->
type
=
data
->
type
;
_nas_user_data
.
mask
=
AT_RESPONSE_CLAC_MASK
;
at_response
->
mask
=
AT_RESPONSE_CLAC_MASK
;
_nas_user_data
.
cause_code
=
AT_ERROR_SUCCESS
;
at_response
->
cause_code
=
AT_ERROR_SUCCESS
;
switch
(
data
->
type
)
{
switch
(
data
->
type
)
{
case
AT_COMMAND_ACT
:
case
AT_COMMAND_ACT
:
...
@@ -2625,7 +2619,7 @@ static int _nas_user_proc_clac(nas_user_t *user, const at_command_t *data)
...
@@ -2625,7 +2619,7 @@ static int _nas_user_proc_clac(nas_user_t *user, const at_command_t *data)
if
(
clac
->
n_acs
==
0
)
{
if
(
clac
->
n_acs
==
0
)
{
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get the list of "
LOG_TRACE
(
ERROR
,
"USR-MAIN - Failed to get the list of "
"supported AT commands"
);
"supported AT commands"
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
}
}
break
;
break
;
...
@@ -2637,7 +2631,7 @@ static int _nas_user_proc_clac(nas_user_t *user, const at_command_t *data)
...
@@ -2637,7 +2631,7 @@ static int _nas_user_proc_clac(nas_user_t *user, const at_command_t *data)
default:
default:
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CLAC command type %d is "
LOG_TRACE
(
ERROR
,
"USR-MAIN - AT+CLAC command type %d is "
"not supported"
,
data
->
type
);
"not supported"
,
data
->
type
);
_nas_user_data
.
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
at_response
->
cause_code
=
AT_ERROR_OPERATION_NOT_SUPPORTED
;
ret_code
=
RETURNerror
;
ret_code
=
RETURNerror
;
break
;
break
;
}
}
...
...
openair3/NAS/UE/nas_user.h
View file @
0989fa53
...
@@ -67,6 +67,6 @@ int nas_user_receive_and_process(nas_user_t *user, char *message);
...
@@ -67,6 +67,6 @@ int nas_user_receive_and_process(nas_user_t *user, char *message);
int
nas_user_process_data
(
nas_user_t
*
user
,
const
void
*
data
);
int
nas_user_process_data
(
nas_user_t
*
user
,
const
void
*
data
);
const
void
*
nas_user_get_data
(
void
);
const
void
*
nas_user_get_data
(
nas_user_t
*
nas_user
);
#endif
/* __NAS_USER_H__*/
#endif
/* __NAS_USER_H__*/
openair3/NAS/UE/user_defs.h
View file @
0989fa53
...
@@ -55,6 +55,7 @@ Description NAS type definition to manage a user equipment
...
@@ -55,6 +55,7 @@ Description NAS type definition to manage a user equipment
#include "API/USIM/usim_api.h"
#include "API/USIM/usim_api.h"
#include "SecurityModeControl.h"
#include "SecurityModeControl.h"
#include "userDef.h"
#include "userDef.h"
#include "at_response.h"
typedef
struct
{
typedef
struct
{
int
fd
;
int
fd
;
...
@@ -74,6 +75,7 @@ typedef struct {
...
@@ -74,6 +75,7 @@ typedef struct {
user_nvdata_t
*
nas_user_nvdata
;
//UE parameters stored in the UE's non-volatile memory device
user_nvdata_t
*
nas_user_nvdata
;
//UE parameters stored in the UE's non-volatile memory device
//
//
nas_user_context_t
*
nas_user_context
;
nas_user_context_t
*
nas_user_context
;
at_response_t
*
at_response
;
// data structure returned to the user as the result of NAS procedure function call
}
nas_user_t
;
}
nas_user_t
;
#endif
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment