}
newparam.setup.capainfo.bearer_capa = ast->transfercapability;
newparam.setup.capainfo.bearer_mode = INFO_BMODE_CIRCUIT;
- if (!call->hdlc)
+ if (call->hdlc)
+ newparam.setup.capainfo.source_mode = B_MODE_HDLC;
+ else {
+ newparam.setup.capainfo.source_mode = B_MODE_TRANSPARENT;
newparam.setup.capainfo.bearer_info1 = (options.law=='a')?3:2;
+ }
newparam.setup.capainfo.hlc = INFO_HLC_NONE;
newparam.setup.capainfo.exthlc = INFO_HLC_NONE;
send_message(MESSAGE_SETUP, call->ref, &newparam);
}
call->pbx_started = 1;
// if (call->state == CHAN_LCR_STATE_IN_DIALING)
-// ast_setstate(ast, AST_STATE_DIALING);
+ ast_setstate(ast, AST_STATE_RINGING);
// else
-// ast_setstate(ast, AST_STATE_OFFHOOK);
- return;
+// ast_setstate(ast, AST_STATE_RINGING);
+// return;
}
/*
}
ast->transfercapability = param->setup.capainfo.bearer_capa;
/* enable hdlc if transcap is data */
- if (ast->transfercapability == INFO_BC_DATAUNRESTRICTED
- || ast->transfercapability == INFO_BC_DATARESTRICTED
- || ast->transfercapability == INFO_BC_VIDEO)
+ if (param->setup.capainfo.source_mode == B_MODE_HDLC)
call->hdlc = 1;
strncpy(call->oad, numberrize_callerinfo(param->setup.callerinfo.id, param->setup.callerinfo.ntype, options.national, options.international), sizeof(call->oad)-1);