struct gsm48_hdr *gh;
uint8_t *cause_ie, *call_state_ie;
+ LOGP(DCC, LOGL_INFO, "sending STATUS (cause %d)\n", cause);
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
/* reply status enquiry */
static int gsm48_cc_rx_status_enq(struct gsm_trans *trans, struct msgb *msg)
{
+ LOGP(DCC, LOGL_INFO, "received STATUS ENQUIREY\n");
+
return gsm48_cc_tx_status(trans, GSM48_CC_CAUSE_RESP_STATUS_INQ);
}
int rc, transaction_id;
uint8_t *ie;
+ LOGP(DCC, LOGL_INFO, "sending SETUP\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct tlv_parsed tp;
struct gsm_mncc progress;
+ LOGP(DCC, LOGL_INFO, "received PROGRESS\n");
+
memset(&progress, 0, sizeof(struct gsm_mncc));
progress.callref = trans->callref;
tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len,
struct tlv_parsed tp;
struct gsm_mncc call_proc;
+ LOGP(DCC, LOGL_INFO, "sending CALL PROCEEDING\n");
+
gsm48_stop_cc_timer(trans);
memset(&call_proc, 0, sizeof(struct gsm_mncc));
struct tlv_parsed tp;
struct gsm_mncc alerting;
+ LOGP(DCC, LOGL_INFO, "sending ALERTING\n");
+
gsm48_stop_cc_timer(trans);
/* no T301 in MS call control */
struct tlv_parsed tp;
struct gsm_mncc connect;
+ LOGP(DCC, LOGL_INFO, "received CONNECT\n");
+
gsm48_stop_cc_timer(trans);
memset(&connect, 0, sizeof(struct gsm_mncc));
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending CONNECT ACKNOWLEDGE\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct tlv_parsed tp;
struct gsm_mncc setup;
+ LOGP(DCC, LOGL_INFO, "sending SETUP\n");
+
memset(&setup, 0, sizeof(struct gsm_mncc));
setup.callref = trans->callref;
tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0);
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending CALL CONFIRMED (proceeding)\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending ALERTING\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending CONNECT\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
{
struct gsm_mncc connect_ack;
+ LOGP(DCC, LOGL_INFO, "received CONNECT ACKNOWLEDGE\n");
+
gsm48_stop_cc_timer(trans);
new_cc_state(trans, GSM_CSTATE_ACTIVE);
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending NOTIFY\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc notify;
+ LOGP(DCC, LOGL_INFO, "received NOTIFY\n");
+
memset(¬ify, 0, sizeof(struct gsm_mncc));
notify.callref = trans->callref;
/* notify */
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending START DTMF\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct tlv_parsed tp;
struct gsm_mncc dtmf;
+ LOGP(DCC, LOGL_INFO, "received START DTMF ACKNOWLEDGE\n");
+
memset(&dtmf, 0, sizeof(struct gsm_mncc));
dtmf.callref = trans->callref;
tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0);
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc dtmf;
+ LOGP(DCC, LOGL_INFO, "received START DTMF REJECT\n");
+
memset(&dtmf, 0, sizeof(struct gsm_mncc));
dtmf.callref = trans->callref;
/* cause */
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending STOP DTMF\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct tlv_parsed tp;
struct gsm_mncc dtmf;
+ LOGP(DCC, LOGL_INFO, "received STOP DTMF ACKNOWLEDGE\n");
+
memset(&dtmf, 0, sizeof(struct gsm_mncc));
dtmf.callref = trans->callref;
tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0);
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending HOLD\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
{
struct gsm_mncc hold;
+ LOGP(DCC, LOGL_INFO, "sending HOLD ACKNOWLEDGE\n");
+
memset(&hold, 0, sizeof(struct gsm_mncc));
hold.callref = trans->callref;
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc hold;
+ LOGP(DCC, LOGL_INFO, "sending HOLD REJECT\n");
+
memset(&hold, 0, sizeof(struct gsm_mncc));
hold.callref = trans->callref;
/* cause */
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending RETRIEVE\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
{
struct gsm_mncc retrieve;
+ LOGP(DCC, LOGL_INFO, "sending RETRIEVE ACKNOWLEDGE\n");
+
memset(&retrieve, 0, sizeof(struct gsm_mncc));
retrieve.callref = trans->callref;
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc retrieve;
+ LOGP(DCC, LOGL_INFO, "sending RETRIEVE REJECT\n");
+
memset(&retrieve, 0, sizeof(struct gsm_mncc));
retrieve.callref = trans->callref;
/* cause */
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending FACILITY\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc fac;
+ LOGP(DCC, LOGL_INFO, "received FACILITY\n");
+
memset(&fac, 0, sizeof(struct gsm_mncc));
fac.callref = trans->callref;
if (payload_len < 1) {
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending USERINFO\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct tlv_parsed tp;
struct gsm_mncc user;
+ LOGP(DCC, LOGL_INFO, "received USERINFO\n");
+
memset(&user, 0, sizeof(struct gsm_mncc));
user.callref = trans->callref;
if (payload_len < 1) {
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending MODIFY\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc modify;
+ LOGP(DCC, LOGL_INFO, "received MODIFY COMPLETE\n");
+
gsm48_stop_cc_timer(trans);
memset(&modify, 0, sizeof(struct gsm_mncc));
struct tlv_parsed tp;
struct gsm_mncc modify;
+ LOGP(DCC, LOGL_INFO, "received MODIFY REJECT\n");
+
gsm48_stop_cc_timer(trans);
memset(&modify, 0, sizeof(struct gsm_mncc));
unsigned int payload_len = msgb_l3len(msg) - sizeof(*gh);
struct gsm_mncc modify;
+ LOGP(DCC, LOGL_INFO, "received MODIFY\n");
+
memset(&modify, 0, sizeof(struct gsm_mncc));
modify.callref = trans->callref;
if (payload_len < 1) {
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending MODIFY COMPLETE\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending MODIFY REJECT\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending DISCONNECT\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "sending RELEASE\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct msgb *nmsg;
struct gsm48_hdr *gh;
+ LOGP(DCC, LOGL_INFO, "received RELEASE COMPLETE\n");
+
nmsg = gsm48_l3_msgb_alloc();
if (!nmsg)
return -ENOMEM;
struct tlv_parsed tp;
struct gsm_mncc disc;
+ LOGP(DCC, LOGL_INFO, "received DISCONNECT\n");
+
gsm48_stop_cc_timer(trans);
new_cc_state(trans, GSM_CSTATE_DISCONNECT_IND);
struct tlv_parsed tp;
struct gsm_mncc rel;
+ LOGP(DCC, LOGL_INFO, "received RELEASE\n");
+
gsm48_stop_cc_timer(trans);
memset(&rel, 0, sizeof(struct gsm_mncc));
struct tlv_parsed tp;
struct gsm_mncc rel;
+ LOGP(DCC, LOGL_INFO, "sending RELEASE COMPLETE\n");
+
gsm48_stop_cc_timer(trans);
memset(&rel, 0, sizeof(struct gsm_mncc));