parse RAN out of the mncc message
This commit is contained in:
parent
05a74f1953
commit
f4ff6844d2
|
@ -30,6 +30,8 @@ struct call {
|
||||||
|
|
||||||
const char *source;
|
const char *source;
|
||||||
const char *dest;
|
const char *dest;
|
||||||
|
|
||||||
|
uint8_t ran;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
|
@ -452,6 +452,7 @@ static void check_setup(struct mncc_connection *conn, const char *buf, int rc)
|
||||||
"MNCC leg(%u) failed to allocate call\n", data->callref);
|
"MNCC leg(%u) failed to allocate call\n", data->callref);
|
||||||
return mncc_send(conn, MNCC_REJ_REQ, data->callref);
|
return mncc_send(conn, MNCC_REJ_REQ, data->callref);
|
||||||
}
|
}
|
||||||
|
call->ran = data->ran;
|
||||||
|
|
||||||
leg = (struct mncc_call_leg *) call->initial;
|
leg = (struct mncc_call_leg *) call->initial;
|
||||||
leg->base.connect_call = mncc_call_leg_connect;
|
leg->base.connect_call = mncc_call_leg_connect;
|
||||||
|
|
|
@ -155,6 +155,7 @@ struct gsm_mncc {
|
||||||
int notify; /* 0..127 */
|
int notify; /* 0..127 */
|
||||||
int emergency;
|
int emergency;
|
||||||
char imsi[16];
|
char imsi[16];
|
||||||
|
uint8_t ran;
|
||||||
|
|
||||||
unsigned char lchan_type;
|
unsigned char lchan_type;
|
||||||
unsigned char lchan_mode;
|
unsigned char lchan_mode;
|
||||||
|
|
13
src/sip.c
13
src/sip.c
|
@ -427,6 +427,19 @@ static int send_invite(struct sip_agent *agent, struct sip_call_leg *leg,
|
||||||
agent->app->sip.remote_port);
|
agent->app->sip.remote_port);
|
||||||
char *sdp = sdp_create_file(leg, other);
|
char *sdp = sdp_create_file(leg, other);
|
||||||
|
|
||||||
|
switch (leg->base.call->ran) {
|
||||||
|
case 1:
|
||||||
|
nua_set_params(leg->nua_handle, SIPTAG_HEADER_STR("P-Access-Network-Info: 3GPP-GERAN"));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
nua_set_params(leg->nua_handle, SIPTAG_HEADER_STR("P-Access-Network-Info: 3GPP-UTRAN"));
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
default:
|
||||||
|
nua_set_params(leg->nua_handle, SIPTAG_HEADER_STR("P-Access-Network-Info: 3GPP-UNKNOWN"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
leg->state = SIP_CC_INITIAL;
|
leg->state = SIP_CC_INITIAL;
|
||||||
leg->dir = SIP_DIR_MT;
|
leg->dir = SIP_DIR_MT;
|
||||||
nua_invite(leg->nua_handle,
|
nua_invite(leg->nua_handle,
|
||||||
|
|
Loading…
Reference in New Issue