diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2022-11-14 20:43:06 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2022-12-16 12:43:09 +0100 |
commit | aadfd50a0f19068826e90bed47598b032cf4ded3 (patch) | |
tree | 7c29e1c5961957520f97947dd7a8ff8a13e5ac3c | |
parent | 2110a0f1111bccc9005db382538643b79c917638 (diff) |
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.
-rw-r--r-- | src/libosmocc/endpoint.c | 24 | ||||
-rw-r--r-- | 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_MODIFY_CNF, modify_cnf}, + {SBIT(OSMO_CC_STATE_ACTIVE), + OSMO_CC_MSG_MODIFY_IND, modify_ind}, {SBIT(OSMO_CC_STATE_ACTIVE), - OSMO_CC_MSG_UPDATE_CNF, update_cnf}, + 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, |