From aadfd50a0f19068826e90bed47598b032cf4ded3 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Mon, 14 Nov 2022 20:43:06 +0100 Subject: [PATCH] Osmo-CC: Change UPDATE to MODIFY message Naming it UPDATE was not a good idea. Now this is renamed to MODIFY message, related to MNCC (GSM). It is used to change media coding during a call. It allows new codec negotiation using SDP protocol and/or changing RTP peer. Also useful for SIP. --- src/libosmocc/endpoint.c | 24 ++++++++++++++++++++---- src/libosmocc/message.h | 6 ++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/libosmocc/endpoint.c b/src/libosmocc/endpoint.c index cb591b8..48290d5 100644 --- a/src/libosmocc/endpoint.c +++ b/src/libosmocc/endpoint.c @@ -568,18 +568,30 @@ static void notify_ind(osmo_cc_call_t *call, osmo_cc_msg_t *msg) forward_to_ul(call, msg); } -static void update_req(osmo_cc_call_t *call, osmo_cc_msg_t *msg) +static void modify_req(osmo_cc_call_t *call, osmo_cc_msg_t *msg) { /* to lower layer */ forward_to_ll(call, msg); } -static void update_cnf(osmo_cc_call_t *call, osmo_cc_msg_t *msg) +static void modify_cnf(osmo_cc_call_t *call, osmo_cc_msg_t *msg) { /* to upper layer */ forward_to_ul(call, msg); } +static void modify_ind(osmo_cc_call_t *call, osmo_cc_msg_t *msg) +{ + /* to upper layer */ + forward_to_ul(call, msg); +} + +static void modify_rsp(osmo_cc_call_t *call, osmo_cc_msg_t *msg) +{ + /* to lower layer */ + forward_to_ll(call, msg); +} + static void disc_req(osmo_cc_call_t *call, osmo_cc_msg_t *msg) { /* change state */ @@ -866,9 +878,13 @@ static struct statemachine { {SBIT(OSMO_CC_STATE_ACTIVE), OSMO_CC_MSG_INFO_REQ, info_req}, {SBIT(OSMO_CC_STATE_ACTIVE), - OSMO_CC_MSG_UPDATE_REQ, update_req}, + OSMO_CC_MSG_MODIFY_REQ, modify_req}, {SBIT(OSMO_CC_STATE_ACTIVE), - OSMO_CC_MSG_UPDATE_CNF, update_cnf}, + OSMO_CC_MSG_MODIFY_CNF, modify_cnf}, + {SBIT(OSMO_CC_STATE_ACTIVE), + OSMO_CC_MSG_MODIFY_IND, modify_ind}, + {SBIT(OSMO_CC_STATE_ACTIVE), + OSMO_CC_MSG_MODIFY_RSP, modify_rsp}, /* call release */ {SBIT(OSMO_CC_STATE_INIT_OUT) | SBIT(OSMO_CC_STATE_INIT_IN) | diff --git a/src/libosmocc/message.h b/src/libosmocc/message.h index 8f4d487..da46435 100644 --- a/src/libosmocc/message.h +++ b/src/libosmocc/message.h @@ -30,8 +30,10 @@ enum osmo_cc_msg_type { OSMO_CC_MSG_NOTIFY_IND = 0x85, OSMO_CC_MSG_INFO_REQ = 0x88, OSMO_CC_MSG_INFO_IND = 0x89, - OSMO_CC_MSG_UPDATE_REQ = 0x91, - OSMO_CC_MSG_UPDATE_CNF = 0x93, + OSMO_CC_MSG_MODIFY_REQ = 0x90, + OSMO_CC_MSG_MODIFY_IND = 0x91, + OSMO_CC_MSG_MODIFY_RSP = 0x92, + OSMO_CC_MSG_MODIFY_CNF = 0x93, OSMO_CC_MSG_ATTACH_REQ = 0xf8, OSMO_CC_MSG_ATTACH_IND = 0xf9, OSMO_CC_MSG_ATTACH_RSP = 0xfa,