mncc: Reject hold requests for now

MNCC hold to sip has not been implemented, so let me reject the
request right now. A ticket (OS#1686) has been filed to track
implementing call holding.
This commit is contained in:
Holger Hans Peter Freyther 2016-04-04 12:38:10 +02:00
parent 6d7d7f2cd3
commit 270c73c11f
1 changed files with 17 additions and 0 deletions

View File

@ -577,6 +577,20 @@ static void check_alrt_ind(struct mncc_connection *conn, char *buf, int rc)
other_leg->ring_call(other_leg); other_leg->ring_call(other_leg);
} }
static void check_hold_ind(struct mncc_connection *conn, char *buf, int rc)
{
struct gsm_mncc *data;
struct mncc_call_leg *leg;
leg = find_leg(conn, buf, rc, &data);
if (!leg)
return;
LOGP(DMNCC, LOGL_DEBUG,
"leg(%u) is req hold. rejecting.\n", leg->callref);
mncc_send(leg->conn, MNCC_HOLD_REJ, leg->callref);
}
static void check_stp_cnf(struct mncc_connection *conn, char *buf, int rc) static void check_stp_cnf(struct mncc_connection *conn, char *buf, int rc)
{ {
struct gsm_mncc *data; struct gsm_mncc *data;
@ -764,6 +778,9 @@ static int mncc_data(struct osmo_fd *fd, unsigned int what)
case MNCC_ALERT_IND: case MNCC_ALERT_IND:
check_alrt_ind(conn, buf, rc); check_alrt_ind(conn, buf, rc);
break; break;
case MNCC_HOLD_IND:
check_hold_ind(conn, buf, rc);
break;
default: default:
LOGP(DMNCC, LOGL_ERROR, "Unhandled message type %d/0x%x\n", LOGP(DMNCC, LOGL_ERROR, "Unhandled message type %d/0x%x\n",
msg_type, msg_type); msg_type, msg_type);