comparison sip-in/mncc_handle.c @ 153:99fd4ae573ae

sip-in: split mncc_sig_out.c from mncc_handle.c
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Oct 2022 16:23:44 -0800
parents e499e8db8b82
children
comparison
equal deleted inserted replaced
152:7176dc850d7a 153:99fd4ae573ae
22 static struct gsm_mncc_cause default_cause = { 22 static struct gsm_mncc_cause default_cause = {
23 .coding = GSM48_CAUSE_CODING_GSM, 23 .coding = GSM48_CAUSE_CODING_GSM,
24 .location = GSM48_CAUSE_LOC_PRN_S_LU, 24 .location = GSM48_CAUSE_LOC_PRN_S_LU,
25 .value = GSM48_CC_CAUSE_NORMAL_UNSPEC, 25 .value = GSM48_CC_CAUSE_NORMAL_UNSPEC,
26 }; 26 };
27
28 void
29 send_mncc_connect_ack(call)
30 struct call *call;
31 {
32 struct gsm_mncc ack;
33
34 bzero(&ack, sizeof(struct gsm_mncc));
35 ack.msg_type = MNCC_SETUP_COMPL_REQ;
36 ack.callref = call->mncc_callref;
37 send_mncc_to_gsm(&ack, sizeof(struct gsm_mncc));
38 call->mncc_state = MNCC_STATE_CONNECTED;
39 call->overall_state = OVERALL_STATE_CONNECTED;
40 }
41
42 void
43 mncc_dtmf_start_ok(call)
44 struct call *call;
45 {
46 struct gsm_mncc msg;
47
48 bzero(&msg, sizeof(struct gsm_mncc));
49 msg.msg_type = MNCC_START_DTMF_RSP;
50 msg.callref = call->mncc_callref;
51 msg.fields |= MNCC_F_KEYPAD;
52 msg.keypad = call->dtmf_digit;
53 send_mncc_to_gsm(&msg, sizeof(struct gsm_mncc));
54 }
55
56 void
57 mncc_dtmf_start_err(call)
58 struct call *call;
59 {
60 struct gsm_mncc msg;
61
62 bzero(&msg, sizeof(struct gsm_mncc));
63 msg.msg_type = MNCC_START_DTMF_REJ;
64 msg.callref = call->mncc_callref;
65 mncc_set_cause(&msg, GSM48_CAUSE_LOC_PRN_S_LU,
66 GSM48_CC_CAUSE_PROTO_ERR);
67 send_mncc_to_gsm(&msg, sizeof(struct gsm_mncc));
68 }
69
70 void
71 mncc_dtmf_stop_ok(call)
72 struct call *call;
73 {
74 struct gsm_mncc msg;
75
76 bzero(&msg, sizeof(struct gsm_mncc));
77 msg.msg_type = MNCC_STOP_DTMF_RSP;
78 msg.callref = call->mncc_callref;
79 send_mncc_to_gsm(&msg, sizeof(struct gsm_mncc));
80 }
81
82 void
83 mncc_send_hold_ack(call)
84 struct call *call;
85 {
86 struct gsm_mncc msg;
87
88 bzero(&msg, sizeof(struct gsm_mncc));
89 msg.msg_type = MNCC_HOLD_CNF;
90 msg.callref = call->mncc_callref;
91 send_mncc_to_gsm(&msg, sizeof(struct gsm_mncc));
92 }
93
94 void
95 mncc_send_retrieve_ack(call)
96 struct call *call;
97 {
98 struct gsm_mncc msg;
99
100 bzero(&msg, sizeof(struct gsm_mncc));
101 msg.msg_type = MNCC_RETRIEVE_CNF;
102 msg.callref = call->mncc_callref;
103 send_mncc_to_gsm(&msg, sizeof(struct gsm_mncc));
104 }
105 27
106 static void 28 static void
107 send_rtp_connect(call) 29 send_rtp_connect(call)
108 struct call *call; 30 struct call *call;
109 { 31 {