diff --git a/src/libosmocc/endpoint.c b/src/libosmocc/endpoint.c index 29a3003..cb591b8 100644 --- a/src/libosmocc/endpoint.c +++ b/src/libosmocc/endpoint.c @@ -568,6 +568,18 @@ 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) +{ + /* to lower layer */ + forward_to_ll(call, msg); +} + +static void update_cnf(osmo_cc_call_t *call, osmo_cc_msg_t *msg) +{ + /* to upper layer */ + forward_to_ul(call, msg); +} + static void disc_req(osmo_cc_call_t *call, osmo_cc_msg_t *msg) { /* change state */ @@ -853,6 +865,10 @@ static struct statemachine { OSMO_CC_MSG_INFO_IND, info_ind}, {SBIT(OSMO_CC_STATE_ACTIVE), OSMO_CC_MSG_INFO_REQ, info_req}, + {SBIT(OSMO_CC_STATE_ACTIVE), + OSMO_CC_MSG_UPDATE_REQ, update_req}, + {SBIT(OSMO_CC_STATE_ACTIVE), + OSMO_CC_MSG_UPDATE_CNF, update_cnf}, /* 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 2bb299a..8f4d487 100644 --- a/src/libosmocc/message.h +++ b/src/libosmocc/message.h @@ -30,6 +30,8 @@ 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_ATTACH_REQ = 0xf8, OSMO_CC_MSG_ATTACH_IND = 0xf9, OSMO_CC_MSG_ATTACH_RSP = 0xfa,