rtp_stream: s/codec/codecs
This commit is contained in:
parent
bc934c0d80
commit
03967d0585
|
@ -92,7 +92,7 @@ struct msc_ho_state {
|
|||
struct {
|
||||
/* Saved RTP IP:port and codec in case we need to roll back */
|
||||
struct osmo_sockaddr_str ran_remote_rtp;
|
||||
struct sdp_audio_codecs codec;
|
||||
struct sdp_audio_codecs codecs;
|
||||
} old_cell;
|
||||
};
|
||||
|
||||
|
|
|
@ -38,9 +38,9 @@ struct rtp_stream {
|
|||
struct osmo_sockaddr_str remote;
|
||||
bool remote_sent_to_mgw;
|
||||
|
||||
bool codec_known;
|
||||
struct sdp_audio_codecs codec;
|
||||
bool codec_sent_to_mgw;
|
||||
bool codecs_known;
|
||||
struct sdp_audio_codecs codecs;
|
||||
bool codecs_sent_to_mgw;
|
||||
|
||||
struct osmo_mgcpc_ep_ci *ci;
|
||||
|
||||
|
@ -65,7 +65,7 @@ struct rtp_stream *rtp_stream_alloc(struct call_leg *parent_call_leg, enum rtp_d
|
|||
int rtp_stream_ensure_ci(struct rtp_stream *rtps, struct osmo_mgcpc_ep *at_endpoint);
|
||||
int rtp_stream_do_mdcx(struct rtp_stream *rtps);
|
||||
|
||||
void rtp_stream_set_codec(struct rtp_stream *rtps, const struct sdp_audio_codecs *codecs);
|
||||
void rtp_stream_set_codecs(struct rtp_stream *rtps, const struct sdp_audio_codecs *codecs);
|
||||
void rtp_stream_set_one_codec(struct rtp_stream *rtps, const struct sdp_audio_codec *codec);
|
||||
bool rtp_stream_set_codecs_from_mgcp_codec(struct rtp_stream *rtps, enum mgcp_codecs codec);
|
||||
void rtp_stream_set_remote_addr(struct rtp_stream *rtps, const struct osmo_sockaddr_str *r);
|
||||
|
|
|
@ -312,7 +312,7 @@ struct osmo_sockaddr_str *call_leg_local_ip(struct call_leg *cl, enum rtp_direct
|
|||
* MDCX.
|
||||
*/
|
||||
int call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans,
|
||||
const struct sdp_audio_codecs *codec_if_known,
|
||||
const struct sdp_audio_codecs *codecs_if_known,
|
||||
const struct osmo_sockaddr_str *remote_addr_if_known)
|
||||
{
|
||||
if (call_leg_ensure_rtp_alloc(cl, dir, call_id, for_trans))
|
||||
|
@ -322,8 +322,8 @@ int call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t cal
|
|||
cl->rtp[dir]->use_osmux = true;
|
||||
cl->rtp[dir]->remote_osmux_cid = -1; /* wildcard */
|
||||
}
|
||||
if (codec_if_known)
|
||||
rtp_stream_set_codec(cl->rtp[dir], codec_if_known);
|
||||
if (codecs_if_known)
|
||||
rtp_stream_set_codecs(cl->rtp[dir], codecs_if_known);
|
||||
if (remote_addr_if_known && osmo_sockaddr_str_is_nonzero(remote_addr_if_known))
|
||||
rtp_stream_set_remote_addr(cl->rtp[dir], remote_addr_if_known);
|
||||
return rtp_stream_ensure_ci(cl->rtp[dir], cl->mgw_endpoint);
|
||||
|
@ -332,25 +332,25 @@ int call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t cal
|
|||
int call_leg_local_bridge(struct call_leg *cl1, uint32_t call_id1, struct gsm_trans *trans1,
|
||||
struct call_leg *cl2, uint32_t call_id2, struct gsm_trans *trans2)
|
||||
{
|
||||
struct sdp_audio_codecs *codec;
|
||||
struct sdp_audio_codecs *codecs;
|
||||
|
||||
cl1->local_bridge = cl2;
|
||||
cl2->local_bridge = cl1;
|
||||
|
||||
/* We may just copy the codec info we have for the RAN side of the first leg to the CN side of both legs. This
|
||||
* also means that if both legs use different codecs the MGW must perform transcoding on the second leg. */
|
||||
if (!cl1->rtp[RTP_TO_RAN] || !cl1->rtp[RTP_TO_RAN]->codec_known) {
|
||||
if (!cl1->rtp[RTP_TO_RAN] || !cl1->rtp[RTP_TO_RAN]->codecs_known) {
|
||||
LOG_CALL_LEG(cl1, LOGL_ERROR, "RAN-side RTP stream codec is not known, not ready for bridging\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
codec = &cl1->rtp[RTP_TO_RAN]->codec;
|
||||
codecs = &cl1->rtp[RTP_TO_RAN]->codecs;
|
||||
|
||||
if (!cl1->rtp[RTP_TO_CN] || !cl2->rtp[RTP_TO_CN])
|
||||
return -ENOTCONN;
|
||||
|
||||
call_leg_ensure_ci(cl1, RTP_TO_CN, call_id1, trans1,
|
||||
codec, &cl2->rtp[RTP_TO_CN]->local);
|
||||
codecs, &cl2->rtp[RTP_TO_CN]->local);
|
||||
call_leg_ensure_ci(cl2, RTP_TO_CN, call_id2, trans2,
|
||||
codec, &cl1->rtp[RTP_TO_CN]->local);
|
||||
codecs, &cl1->rtp[RTP_TO_CN]->local);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ int codec_filter_run(struct codec_filter *codec_filter)
|
|||
if (sdp_audio_codec_is_set(a)) {
|
||||
/* Assignment has completed, the chosen codec should be the first of the resulting SDP.
|
||||
* Make sure this is actually listed in the result SDP and move to first place. */
|
||||
struct sdp_audio_codec *select = sdp_audio_codec_by_descr(r, a);
|
||||
struct sdp_audio_codec *select = sdp_audio_codecs_by_descr(r, a);
|
||||
|
||||
if (!select) {
|
||||
/* Not present. Add. */
|
||||
|
@ -142,7 +142,7 @@ int codec_filter_run(struct codec_filter *codec_filter)
|
|||
if (a->payload_type > 127)
|
||||
return -ENOSPC;
|
||||
}
|
||||
select = sdp_audio_codec_add_copy(r, a);
|
||||
select = sdp_audio_codecs_add_copy(r, a);
|
||||
}
|
||||
|
||||
sdp_audio_codecs_select(r, select);
|
||||
|
|
|
@ -1769,11 +1769,11 @@ int gsm48_tch_rtp_create(struct gsm_trans *trans)
|
|||
}
|
||||
|
||||
/* Modify the MGW endpoint if necessary, usually this should already match and not cause MGCP. */
|
||||
rtp_stream_set_codec(rtp_cn, &trans->cc.codecs.result.audio_codecs);
|
||||
rtp_stream_set_codecs(rtp_cn, &trans->cc.codecs.result.audio_codecs);
|
||||
rtp_stream_commit(rtp_cn);
|
||||
|
||||
/* Populate the legacy MNCC codec elements: payload_type and payload_msg_type */
|
||||
codec = &rtp_cn->codec.codec[0];
|
||||
codec = &rtp_cn->codecs.codec[0];
|
||||
m = codec_mapping_by_subtype_name(codec->subtype_name);
|
||||
mncc_payload_msg_type = m ? m->mncc_payload_msg_type : 0;
|
||||
|
||||
|
|
|
@ -263,14 +263,14 @@ static bool mncc_call_rx_rtp_create(struct mncc_call *mncc_call)
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!mncc_call->rtps->codec_known) {
|
||||
if (!mncc_call->rtps->codecs_known) {
|
||||
LOG_MNCC_CALL(mncc_call, LOGL_DEBUG, "Got RTP_CREATE, but RTP stream has no codec set\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
LOG_MNCC_CALL(mncc_call, LOGL_DEBUG, "Got RTP_CREATE, responding with " OSMO_SOCKADDR_STR_FMT " %s\n",
|
||||
OSMO_SOCKADDR_STR_FMT_ARGS(&mncc_call->rtps->local),
|
||||
sdp_audio_codecs_to_str(&mncc_call->rtps->codec));
|
||||
sdp_audio_codecs_to_str(&mncc_call->rtps->codecs));
|
||||
/* Already know what RTP IP:port to tell the MNCC. Send it. */
|
||||
return mncc_call_tx_rtp_create(mncc_call);
|
||||
}
|
||||
|
@ -295,8 +295,8 @@ static bool mncc_call_tx_rtp_create(struct mncc_call *mncc_call)
|
|||
return false;
|
||||
}
|
||||
|
||||
if (mncc_call->rtps->codec_known) {
|
||||
struct sdp_audio_codec *codec = &mncc_call->rtps->codec.codec[0];
|
||||
if (mncc_call->rtps->codecs_known) {
|
||||
struct sdp_audio_codec *codec = &mncc_call->rtps->codecs.codec[0];
|
||||
const struct codec_mapping *m = codec_mapping_by_subtype_name(codec->subtype_name);
|
||||
|
||||
if (!m) {
|
||||
|
|
|
@ -571,7 +571,7 @@ static int msc_ho_start_inter_msc_call_forwarding(struct msc_a *msc_a, struct ms
|
|||
|
||||
/* Backup old cell's RTP IP:port and codec data */
|
||||
msc_a->ho.old_cell.ran_remote_rtp = rtp_to_ran->remote;
|
||||
msc_a->ho.old_cell.codec = rtp_to_ran->codec;
|
||||
msc_a->ho.old_cell.codecs = rtp_to_ran->codecs;
|
||||
|
||||
/* Blindly taken over from an MNCC trace of existing code: send an all-zero CCCAP: */
|
||||
outgoing_call_req.fields |= MNCC_F_CCCAP;
|
||||
|
@ -708,7 +708,7 @@ static void msc_ho_rtp_switch_to_new_cell(struct msc_a *msc_a)
|
|||
|
||||
/* Backup old cell's RTP IP:port and codec data */
|
||||
msc_a->ho.old_cell.ran_remote_rtp = rtp_to_ran->remote;
|
||||
msc_a->ho.old_cell.codec = rtp_to_ran->codec;
|
||||
msc_a->ho.old_cell.codecs = rtp_to_ran->codecs;
|
||||
|
||||
LOG_HO(msc_a, LOGL_DEBUG, "Switching RTP stream to new cell: from " OSMO_SOCKADDR_STR_FMT " to " OSMO_SOCKADDR_STR_FMT "\n",
|
||||
OSMO_SOCKADDR_STR_FMT_ARGS(&msc_a->ho.old_cell.ran_remote_rtp),
|
||||
|
@ -733,7 +733,7 @@ static void msc_ho_rtp_switch_to_new_cell(struct msc_a *msc_a)
|
|||
LOG_HO(msc_a, LOGL_ERROR,
|
||||
"Cannot resolve codec: %s\n", osmo_mgcpc_codec_name(msc_a->ho.new_cell.codec));
|
||||
} else
|
||||
rtp_stream_set_codec(rtp_to_ran, &codecs);
|
||||
rtp_stream_set_codecs(rtp_to_ran, &codecs);
|
||||
} else
|
||||
LOG_HO(msc_a, LOGL_ERROR, "No codec is set\n");
|
||||
rtp_stream_commit(rtp_to_ran);
|
||||
|
@ -774,7 +774,7 @@ static void msc_ho_rtp_rollback_to_old_cell(struct msc_a *msc_a)
|
|||
|
||||
/* Switch back to the old cell */
|
||||
rtp_stream_set_remote_addr(rtp_to_ran, &msc_a->ho.old_cell.ran_remote_rtp);
|
||||
rtp_stream_set_codec(rtp_to_ran, &msc_a->ho.old_cell.codec);
|
||||
rtp_stream_set_codecs(rtp_to_ran, &msc_a->ho.old_cell.codecs);
|
||||
rtp_stream_commit(rtp_to_ran);
|
||||
}
|
||||
|
||||
|
|
|
@ -79,10 +79,10 @@ void rtp_stream_update_id(struct rtp_stream *rtps)
|
|||
OSMO_STRBUF_PRINTF(sb, ":no-remote-port");
|
||||
else if (!rtps->remote_sent_to_mgw)
|
||||
OSMO_STRBUF_PRINTF(sb, ":remote-port-not-sent");
|
||||
if (!rtps->codec_known)
|
||||
OSMO_STRBUF_PRINTF(sb, ":no-codec");
|
||||
else if (!rtps->codec_sent_to_mgw)
|
||||
OSMO_STRBUF_PRINTF(sb, ":codec-not-sent");
|
||||
if (!rtps->codecs_known)
|
||||
OSMO_STRBUF_PRINTF(sb, ":no-codecs");
|
||||
else if (!rtps->codecs_sent_to_mgw)
|
||||
OSMO_STRBUF_PRINTF(sb, ":codecs-not-sent");
|
||||
if (rtps->use_osmux) {
|
||||
if (rtps->remote_osmux_cid < 0)
|
||||
OSMO_STRBUF_PRINTF(sb, ":no-remote-osmux-cid");
|
||||
|
@ -142,7 +142,7 @@ static void check_established(struct rtp_stream *rtps)
|
|||
&& osmo_sockaddr_str_is_nonzero(&rtps->remote)
|
||||
&& rtps->remote_sent_to_mgw
|
||||
&& (!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw)
|
||||
&& rtps->codec_known)
|
||||
&& rtps->codecs_known)
|
||||
rtp_stream_state_chg(rtps, RTP_STREAM_ST_ESTABLISHED);
|
||||
}
|
||||
|
||||
|
@ -172,14 +172,14 @@ static void rtp_stream_fsm_establishing_established(struct osmo_fsm_inst *fi, ui
|
|||
osmo_fsm_inst_dispatch(fi->proc.parent, CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE, rtps);
|
||||
check_established(rtps);
|
||||
|
||||
if ((!rtps->remote_sent_to_mgw || !rtps->codec_sent_to_mgw)
|
||||
if ((!rtps->remote_sent_to_mgw || !rtps->codecs_sent_to_mgw)
|
||||
&& osmo_sockaddr_str_is_nonzero(&rtps->remote)
|
||||
&& (!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw)
|
||||
&& rtps->codec_known) {
|
||||
&& rtps->codecs_known) {
|
||||
LOG_RTPS(rtps, LOGL_DEBUG,
|
||||
"local ip:port set;%s%s%s triggering MDCX to send the new settings\n",
|
||||
(!rtps->remote_sent_to_mgw)? " remote ip:port not yet sent," : "",
|
||||
(!rtps->codec_sent_to_mgw)? " codec not yet sent," : "",
|
||||
(!rtps->codecs_sent_to_mgw)? " codecs not yet sent," : "",
|
||||
(rtps->use_osmux && !rtps->remote_osmux_cid_sent_to_mgw) ? "Osmux CID not yet sent,": "");
|
||||
rtp_stream_do_mdcx(rtps);
|
||||
}
|
||||
|
@ -193,7 +193,7 @@ static void rtp_stream_fsm_establishing_established(struct osmo_fsm_inst *fi, ui
|
|||
case RTP_STREAM_EV_CRCX_FAIL:
|
||||
case RTP_STREAM_EV_MDCX_FAIL:
|
||||
rtps->remote_sent_to_mgw = false;
|
||||
rtps->codec_sent_to_mgw = false;
|
||||
rtps->codecs_sent_to_mgw = false;
|
||||
rtps->remote_osmux_cid_sent_to_mgw = false;
|
||||
rtp_stream_update_id(rtps);
|
||||
rtp_stream_state_chg(rtps, RTP_STREAM_ST_DISCARDING);
|
||||
|
@ -311,12 +311,12 @@ static int rtp_stream_do_mgcp_verb(struct rtp_stream *rtps, enum mgcp_verb verb,
|
|||
if (verb == MGCP_VERB_CRCX)
|
||||
verb_info.conn_mode = rtps->crcx_conn_mode;
|
||||
|
||||
if (rtps->codec_known) {
|
||||
if (rtps->codecs_known) {
|
||||
/* Send the list of codecs to the MGW. Ideally we would just feed the SDP directly, but for legacy
|
||||
* reasons we still need to translate to a struct mgcp_conn_peer representation to send it. */
|
||||
struct sdp_audio_codec *codec;
|
||||
int i = 0;
|
||||
foreach_sdp_audio_codec(codec, &rtps->codec) {
|
||||
foreach_sdp_audio_codec(codec, &rtps->codecs) {
|
||||
const struct codec_mapping *m = codec_mapping_by_subtype_name(codec->subtype_name);
|
||||
if (!m)
|
||||
continue;
|
||||
|
@ -329,7 +329,7 @@ static int rtp_stream_do_mgcp_verb(struct rtp_stream *rtps, enum mgcp_verb verb,
|
|||
verb_info.codecs_len = i;
|
||||
verb_info.ptmap_len = i;
|
||||
}
|
||||
rtps->codec_sent_to_mgw = true;
|
||||
rtps->codecs_sent_to_mgw = true;
|
||||
}
|
||||
if (osmo_sockaddr_str_is_nonzero(&rtps->remote)) {
|
||||
int rc = osmo_strlcpy(verb_info.addr, rtps->remote.ip, sizeof(verb_info.addr));
|
||||
|
@ -381,12 +381,12 @@ int rtp_stream_commit(struct rtp_stream *rtps)
|
|||
LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no remote RTP address known\n");
|
||||
return -1;
|
||||
}
|
||||
if (!rtps->codec_known) {
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no codec known\n");
|
||||
if (!rtps->codecs_known) {
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no codecs known\n");
|
||||
return -1;
|
||||
}
|
||||
if (rtps->remote_sent_to_mgw && rtps->codec_sent_to_mgw) {
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: both remote RTP address and codec already set up at MGW\n");
|
||||
if (rtps->remote_sent_to_mgw && rtps->codecs_sent_to_mgw) {
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: both remote RTP address and codecs already set up at MGW\n");
|
||||
return 0;
|
||||
}
|
||||
if (!rtps->ci) {
|
||||
|
@ -396,26 +396,26 @@ int rtp_stream_commit(struct rtp_stream *rtps)
|
|||
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "Committing: Tx MDCX to update the MGW: updating%s%s%s\n",
|
||||
rtps->remote_sent_to_mgw ? "" : " remote-RTP-IP-port",
|
||||
rtps->codec_sent_to_mgw ? "" : " codec",
|
||||
rtps->codecs_sent_to_mgw ? "" : " codecs",
|
||||
(!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw) ? "" : " remote-Osmux-CID");
|
||||
return rtp_stream_do_mdcx(rtps);
|
||||
}
|
||||
|
||||
void rtp_stream_set_codec(struct rtp_stream *rtps, const struct sdp_audio_codecs *codec)
|
||||
void rtp_stream_set_codecs(struct rtp_stream *rtps, const struct sdp_audio_codecs *codecs)
|
||||
{
|
||||
if (!codec || !codec->count)
|
||||
if (!codecs || !codecs->count)
|
||||
return;
|
||||
if (sdp_audio_codecs_cmp(&rtps->codec, codec, false, true) == 0) {
|
||||
if (sdp_audio_codecs_cmp(&rtps->codecs, codecs, false, true) == 0) {
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "no change: codecs already set to %s\n",
|
||||
sdp_audio_codecs_to_str(&rtps->codec));
|
||||
sdp_audio_codecs_to_str(&rtps->codecs));
|
||||
return;
|
||||
}
|
||||
if (rtps->fi->state == RTP_STREAM_ST_ESTABLISHED)
|
||||
rtp_stream_state_chg(rtps, RTP_STREAM_ST_ESTABLISHING);
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "setting codec to %s\n", sdp_audio_codecs_to_str(codec));
|
||||
rtps->codec = *codec;
|
||||
rtps->codec_known = true;
|
||||
rtps->codec_sent_to_mgw = false;
|
||||
LOG_RTPS(rtps, LOGL_DEBUG, "setting codecs to %s\n", sdp_audio_codecs_to_str(codecs));
|
||||
rtps->codecs = *codecs;
|
||||
rtps->codecs_known = true;
|
||||
rtps->codecs_sent_to_mgw = false;
|
||||
rtp_stream_update_id(rtps);
|
||||
}
|
||||
|
||||
|
@ -424,7 +424,7 @@ void rtp_stream_set_one_codec(struct rtp_stream *rtps, const struct sdp_audio_co
|
|||
{
|
||||
struct sdp_audio_codecs codecs = {};
|
||||
sdp_audio_codecs_add_copy(&codecs, codec);
|
||||
rtp_stream_set_codec(rtps, &codecs);
|
||||
rtp_stream_set_codecs(rtps, &codecs);
|
||||
}
|
||||
|
||||
/* For legacy, rather use rtp_stream_set_codecs() with a full codecs list. */
|
||||
|
@ -433,7 +433,7 @@ bool rtp_stream_set_codecs_from_mgcp_codec(struct rtp_stream *rtps, enum mgcp_co
|
|||
struct sdp_audio_codecs codecs = {};
|
||||
if (!sdp_audio_codecs_add_mgcp_codec(&codecs, codec))
|
||||
return false;
|
||||
rtp_stream_set_codec(rtps, &codecs);
|
||||
rtp_stream_set_codecs(rtps, &codecs);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -471,7 +471,7 @@ bool rtp_stream_is_established(struct rtp_stream *rtps)
|
|||
if (rtps->fi->state != RTP_STREAM_ST_ESTABLISHED)
|
||||
return false;
|
||||
if (!rtps->remote_sent_to_mgw
|
||||
|| !rtps->codec_sent_to_mgw
|
||||
|| !rtps->codecs_sent_to_mgw
|
||||
|| (rtps->use_osmux && !rtps->remote_osmux_cid_sent_to_mgw))
|
||||
return false;
|
||||
return true;
|
||||
|
|
|
@ -301,10 +301,10 @@ DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN
|
|||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000001
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000001 codecs=VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to VND.3GPP.IUFP#96
|
||||
- MGW acknowledges the CRCX, triggering Assignment
|
||||
MGW --CRCX OK to RTP_TO_RAN--> MSC
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE
|
||||
|
@ -314,13 +314,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE
|
|||
DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
|
||||
- Assignment succeeds, triggering CRCX to CN
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to 1.2.3.4:1234
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23:remote-1-2-3-4-1234){UNINITIALIZED}: Not committing: no MGW endpoint CI set up
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000001
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000001 codecs=AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
- CN RTP address is available, trigger MNCC_RTP_CREATE
|
||||
MGW --CRCX OK to RTP_TO_CN--> MSC
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE
|
||||
|
@ -786,10 +786,10 @@ DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRA
|
|||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x423
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x423 codecs=VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to VND.3GPP.IUFP#96
|
||||
DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND
|
||||
MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND
|
||||
DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)
|
||||
|
@ -807,10 +807,10 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RES
|
|||
DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
|
||||
- Assignment completes, triggering CRCX to CN
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to 1.2.3.4:1234
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23:remote-1-2-3-4-1234){UNINITIALIZED}: Not committing: no MGW endpoint CI set up
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x423
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x423 codecs=unset
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)
|
||||
- When the CN side RTP address is known, send MNCC_RTP_CREATE
|
||||
|
@ -819,7 +819,7 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_R
|
|||
DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)
|
||||
DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) codecs: RAN={AMR:octet-align=1#112,AMR-WB:octet-align=1#113} MS={AMR:octet-align=1#112,GSM-EFR#110,GSM#3,GSM-HR-08#111} result=:0{AMR:octet-align=1#112}
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no remote RTP address known
|
||||
DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_RTP_CREATE
|
||||
MSC --> MNCC: callref 0x423: MNCC_RTP_CREATE
|
||||
|
@ -1260,10 +1260,10 @@ DCC trans(CC:CALL_PRESENT IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRA
|
|||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x423
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x423 codecs=VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to VND.3GPP.IUFP#96
|
||||
DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND
|
||||
MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND
|
||||
DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)
|
||||
|
@ -1281,10 +1281,10 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RES
|
|||
DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
|
||||
- Assignment completes, triggering CRCX to CN
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to 1.2.3.4:1234
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23:remote-1-2-3-4-1234){UNINITIALIZED}: Not committing: no MGW endpoint CI set up
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x423
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x423 codecs=unset
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)
|
||||
- When the CN side RTP address is known, send MNCC_RTP_CREATE
|
||||
|
@ -1293,7 +1293,7 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_R
|
|||
DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)
|
||||
DCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) codecs: RAN={AMR:octet-align=1#112,AMR-WB:octet-align=1#113} MS={AMR:octet-align=1#112,GSM-EFR#110,GSM#3,GSM-HR-08#111} result=:0{AMR:octet-align=1#112}
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no remote RTP address known
|
||||
DMNCC trans(CC:MO_TERM_CALL_CONF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_RTP_CREATE
|
||||
MSC --> MNCC: callref 0x423: MNCC_RTP_CREATE
|
||||
|
@ -1680,10 +1680,10 @@ DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN
|
|||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000002
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000002 codecs=VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to VND.3GPP.IUFP#96
|
||||
- MGW acknowledges the CRCX, triggering Assignment
|
||||
MGW --CRCX OK to RTP_TO_RAN--> MSC
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE
|
||||
|
@ -1693,13 +1693,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE
|
|||
DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
|
||||
- Assignment succeeds, triggering CRCX to CN
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to 1.2.3.4:1234
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23:remote-1-2-3-4-1234){UNINITIALIZED}: Not committing: no MGW endpoint CI set up
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000002
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000002 codecs=AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
- CN RTP address is available, trigger MNCC_RTP_CREATE
|
||||
MGW --CRCX OK to RTP_TO_CN--> MSC
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE
|
||||
|
@ -2112,10 +2112,10 @@ DMNCC trans(CC:INITIATED IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN
|
|||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000003
|
||||
MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000003 codecs=VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to VND.3GPP.IUFP#96
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to VND.3GPP.IUFP#96
|
||||
- MGW acknowledges the CRCX, triggering Assignment
|
||||
MGW --CRCX OK to RTP_TO_RAN--> MSC
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE
|
||||
|
@ -2125,13 +2125,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE
|
|||
DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
|
||||
- Assignment succeeds, triggering CRCX to CN
|
||||
DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to 1.2.3.4:1234
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23:remote-1-2-3-4-1234){UNINITIALIZED}: Not committing: no MGW endpoint CI set up
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000003
|
||||
MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000003 codecs=AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to AMR:octet-align=1#112
|
||||
DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codecs to AMR:octet-align=1#112
|
||||
- CN RTP address is available, trigger MNCC_RTP_CREATE
|
||||
MGW --CRCX OK to RTP_TO_CN--> MSC
|
||||
DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE
|
||||
|
|
|
@ -850,7 +850,8 @@ int __wrap_call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint3
|
|||
const struct osmo_sockaddr_str *remote_addr_if_known)
|
||||
{
|
||||
if (!cl->rtp[dir]) {
|
||||
log("MGW <--CRCX to %s-- MSC: callref=0x%x", rtp_direction_name(dir), call_id);
|
||||
log("MGW <--CRCX to %s-- MSC: callref=0x%x codecs=%s", rtp_direction_name(dir), call_id,
|
||||
codecs_if_known ? sdp_audio_codecs_to_str(codecs_if_known) : "unset");
|
||||
|
||||
OSMO_ASSERT(expecting_crcx == dir);
|
||||
expecting_crcx = -1;
|
||||
|
@ -858,7 +859,7 @@ int __wrap_call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint3
|
|||
|
||||
call_leg_ensure_rtp_alloc(cl, dir, call_id, for_trans);
|
||||
if (codecs_if_known)
|
||||
rtp_stream_set_codec(cl->rtp[dir], codecs_if_known);
|
||||
rtp_stream_set_codecs(cl->rtp[dir], codecs_if_known);
|
||||
if (remote_addr_if_known && osmo_sockaddr_str_is_nonzero(remote_addr_if_known))
|
||||
rtp_stream_set_remote_addr(cl->rtp[dir], remote_addr_if_known);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue