--- l4isup_1.2.c 2006-07-19 05:13:40.000000000 -0300 +++ l4isup.c 2007-05-31 17:20:57.000000000 -0300 @@ -54,7 +54,7 @@ #include "asterisk/indications.h" #include "asterisk/module.h" -#include "zaptel.h" +#include "zaptel/zaptel.h" #include "config.h" #include "lffifo.h" @@ -184,7 +184,7 @@ static int ss7_write(struct ast_channel * chan, struct ast_frame *frame); static struct ast_frame *ss7_exception(struct ast_channel *chan); static int ss7_fixup(struct ast_channel *oldchan, struct ast_channel *newchan); -static int ss7_indicate(struct ast_channel *chan, int condition); +static int ss7_indicate(struct ast_channel *chan, int condition, const void *data, size_t datalen); static void t7_clear(struct ss7_chan *pvt); static void t1_start(struct ss7_chan *pvt); static void t5_start(struct ss7_chan *pvt); @@ -208,7 +208,7 @@ .description = tdesc, .capabilities = AST_FORMAT_ALAW, .requester = ss7_requester, - .send_digit = ss7_send_digit, + .send_digit_begin = ss7_send_digit, .call = ss7_call, .hangup = ss7_hangup, .answer = ss7_answer, @@ -216,7 +216,7 @@ .write = ss7_write, .exception = ss7_exception, .fixup = ss7_fixup, - .indicate = ss7_indicate, + .indicate = ss7_indicate }; @@ -568,14 +568,14 @@ int parm; int res; - chan = ast_channel_alloc(0); - if(!chan) { - return NULL; + if ((chan = ast_channel_alloc(0, state, 0, 0, NULL, NULL, pvt->context, 0, NULL) ) == NULL) + { + ast_log(LOG_WARNING, "Unable to allocate channel structure\n"); + return NULL; } chan->tech = &ss7_tech; - snprintf(chan->name, sizeof(chan->name), "%s/%s/%d", type, pvt->link->linkset->name, pvt->cic); - chan->type = type; + snprintf((char *) chan->name, sizeof(chan->name), "%s/%s/%d", type, pvt->link->linkset->name, pvt->cic); chan->nativeformats = AST_FORMAT_ALAW; chan->rawreadformat = AST_FORMAT_ALAW; chan->rawwriteformat = AST_FORMAT_ALAW; @@ -729,7 +729,7 @@ mtp_enqueue_isup(pvt, msg, current); } -static int ss7_indicate(struct ast_channel *chan, int condition) { +static int ss7_indicate(struct ast_channel *chan, int condition, const void *data, size_t datalen) { struct ss7_chan *pvt = chan->tech_pvt; int res; @@ -1280,7 +1280,7 @@ ast_copy_string(chan->exten, iam->dni.num, sizeof(chan->exten)); ast_copy_string(chan->context, pvt->context, sizeof(chan->context)); - ast_copy_string(chan->language, pvt->language, sizeof(chan->language)); + ast_copy_string((char *) chan->language, pvt->language, sizeof(chan->language)); if(iam->ani.present) { chan->cid.cid_num = strdup(iam->ani.num);