hints
Change-Id: I4b87c074bc986668d7831fef6122c03b7209b049
This commit is contained in:
parent
17d225492c
commit
36a3753ed0
|
@ -161,6 +161,11 @@ struct gsm_mncc {
|
|||
unsigned char lchan_type;
|
||||
unsigned char lchan_mode;
|
||||
|
||||
struct osmo_gcr_parsed gcr;
|
||||
// or maybe as encoded buffer? has to pass the mncc_sock to osmo-sip-connector at some point
|
||||
// uint8_t gcr_enc[15];
|
||||
// uint8_t gcr_enc_len;
|
||||
|
||||
/* A buffer to contain SDP ('\0' terminated) */
|
||||
char sdp[1024];
|
||||
};
|
||||
|
@ -171,7 +176,9 @@ struct gsm_data_frame {
|
|||
unsigned char data[0];
|
||||
};
|
||||
|
||||
#define MNCC_SOCK_VERSION 7
|
||||
#define MNCC_SOCK_VERSION 8
|
||||
// this version bump has to also happen in osmo-sip-connector
|
||||
|
||||
struct gsm_mncc_hello {
|
||||
uint32_t msg_type;
|
||||
uint32_t version;
|
||||
|
|
|
@ -567,6 +567,9 @@ static int gsm48_cc_rx_setup(struct gsm_trans *trans, struct msgb *msg)
|
|||
//if (lcls_compose(&trans-lcls, trans, true)
|
||||
// LOG_TRANS(trans, LOGL_ERROR, "LCLS Error\n");
|
||||
|
||||
/* pass the LCLS GCR on to the MT call leg via MNCC */
|
||||
setup.gcr = trans->lcls->gcr;
|
||||
|
||||
tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0);
|
||||
/* emergency setup is identified by msg_type */
|
||||
if (msg_type == GSM48_MT_CC_EMERG_SETUP) {
|
||||
|
@ -2008,6 +2011,12 @@ static int mncc_tx_to_gsm_cc(struct gsm_network *net, const union mncc_msg *msg)
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* Get the GCR from the MO call leg (if any).
|
||||
* First make room for the LCLS info, then insert the MO call leg's GCR. */
|
||||
trans->lcls = lcls_compose(...);
|
||||
trans->lcls->gcr = data->gcr;
|
||||
trans->lcls->gcr_available = true;
|
||||
|
||||
/* If subscriber has no conn */
|
||||
if (!msc_a) {
|
||||
/* This condition will return before the common logging of the received MNCC message below, so
|
||||
|
|
|
@ -604,6 +604,12 @@ static void msc_a_call_leg_ran_local_addr_available(struct msc_a *msc_a)
|
|||
}
|
||||
|
||||
if (cc_trans->lcls) {
|
||||
/* LCLS: for the MO call leg, the LCLS GCR has been created in gsm48_cc_rx_setup() where the DTAP CC
|
||||
* SETUP was received from the MO MS.
|
||||
* For the MT call leg, the LCLS GCR has been received from the MO call leg via MNCC, in
|
||||
* mncc_tx_to_gsm_cc(), where the MNCC SETUP was received from the CN side (PBX/sipcon or via internal
|
||||
* MNCC).
|
||||
*/
|
||||
LOG_MSC_A(msc_a, LOGL_ERROR, "We already have LCLS GCR: %s\n", osmo_gcr_dump(cc_trans->lcls));
|
||||
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue