X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=chan_lcr.c;h=4ebaccf441bc4de49f525bdedfbf991c6117027d;hp=169505653c5e05692ace253c3c29f7483f912f79;hb=705f2dac84720c9c3d24d5c26f23733773077536;hpb=d2bcbfbaf06eafcf44d8884fd6fb0a7f334b479b diff --git a/chan_lcr.c b/chan_lcr.c index 1695056..4ebaccf 100644 --- a/chan_lcr.c +++ b/chan_lcr.c @@ -3012,6 +3012,15 @@ static int lcr_indicate(struct ast_channel *ast, int cond, const void *data, siz break; case AST_CONTROL_PROGRESS: CDEBUG(call, ast, "Received indicate AST_CONTROL_PROGRESS from Asterisk.\n"); + if (call->state == CHAN_LCR_STATE_IN_SETUP + || call->state == CHAN_LCR_STATE_IN_DIALING) { + CDEBUG(call, ast, "Changing to proceeding state, because no more dialing possible.\n"); + /* send message to lcr */ + memset(&newparam, 0, sizeof(union parameter)); + send_message(MESSAGE_PROCEEDING, call->ref, &newparam); + /* change state */ + call->state = CHAN_LCR_STATE_IN_PROCEEDING; + } /* request bchannel */ CDEBUG(call, ast, "Requesting audio path.\n"); memset(&newparam, 0, sizeof(union parameter));