pritap            175 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap_t *pritap = span->signal_data;
pritap            181 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pri_set_debug(pritap->pri, parse_debug(argv[2]));				
pritap            348 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = pri_get_userdata(pri);
pritap            351 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if ((zst = ftdm_channel_read(pritap->dchan, buf, &len)) != FTDM_SUCCESS) {
pritap            353 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_log(FTDM_LOG_CRIT, "span %d D channel read fail! [%s]\n", pritap->span->span_id, pritap->dchan->last_error);
pritap            355 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_log(FTDM_LOG_CRIT, "span %d D channel read timeout!\n", pritap->span->span_id);
pritap            371 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = pri_get_userdata(pri);
pritap            374 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdm_channel_write(pritap->dchan, buf, buflen, &len) != FTDM_SUCCESS) {
pritap            375 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log(FTDM_LOG_CRIT, "span %d D channel write failed! [%s]\n", pritap->span->span_id, pritap->dchan->last_error);
pritap            391 src/ftmod/ftmod_pritap/ftmod_pritap.c static passive_call_t *tap_pri_get_pcall_bycrv(pritap_t *pritap, int crv)
pritap            396 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_lock(pritap->pcalls_lock);
pritap            398 src/ftmod/ftmod_pritap/ftmod_pritap.c 	for (i = 0; i < ftdm_array_len(pritap->pcalls); i++) {
pritap            399 src/ftmod/ftmod_pritap/ftmod_pritap.c 		tstcrv = pritap->pcalls[i].callref ? tap_pri_get_crv(pritap->pri, pritap->pcalls[i].callref) : 0;
pritap            400 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (pritap->pcalls[i].callref && tstcrv == crv) {
pritap            401 src/ftmod/ftmod_pritap/ftmod_pritap.c 			if (!pritap->pcalls[i].inuse) {
pritap            403 src/ftmod/ftmod_pritap/ftmod_pritap.c 						crv, i, pritap->span->name, pritap->pcalls[i].callref);
pritap            407 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            409 src/ftmod/ftmod_pritap/ftmod_pritap.c 			return &pritap->pcalls[i];
pritap            413 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            418 src/ftmod/ftmod_pritap/ftmod_pritap.c static passive_call_t *tap_pri_get_pcall(pritap_t *pritap, void *callref)
pritap            423 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_lock(pritap->pcalls_lock);
pritap            425 src/ftmod/ftmod_pritap/ftmod_pritap.c 	for (i = 0; i < ftdm_array_len(pritap->pcalls); i++) {
pritap            426 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (pritap->pcalls[i].callref && !pritap->pcalls[i].inuse) {
pritap            427 src/ftmod/ftmod_pritap/ftmod_pritap.c 			crv = tap_pri_get_crv(pritap->pri, pritap->pcalls[i].callref);
pritap            430 src/ftmod/ftmod_pritap/ftmod_pritap.c 					crv, pritap->pcalls[i].callref, pritap->span->name, i);
pritap            431 src/ftmod/ftmod_pritap/ftmod_pritap.c 			pri_passive_destroycall(pritap->pri, pritap->pcalls[i].callref);
pritap            432 src/ftmod/ftmod_pritap/ftmod_pritap.c 			memset(&pritap->pcalls[i], 0, sizeof(pritap->pcalls[0]));
pritap            434 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (callref == pritap->pcalls[i].callref) {
pritap            435 src/ftmod/ftmod_pritap/ftmod_pritap.c 			pritap->pcalls[i].inuse = 1;
pritap            437 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            439 src/ftmod/ftmod_pritap/ftmod_pritap.c 			return &pritap->pcalls[i];
pritap            443 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            448 src/ftmod/ftmod_pritap/ftmod_pritap.c static void tap_pri_put_pcall(pritap_t *pritap, void *callref)
pritap            455 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log(FTDM_LOG_ERROR, "Cannot put pcall for null callref in span %s\n", pritap->span->name);
pritap            459 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_lock(pritap->pcalls_lock);
pritap            461 src/ftmod/ftmod_pritap/ftmod_pritap.c 	crv = tap_pri_get_crv(pritap->pri, callref);
pritap            462 src/ftmod/ftmod_pritap/ftmod_pritap.c 	for (i = 0; i < ftdm_array_len(pritap->pcalls); i++) {
pritap            463 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (!pritap->pcalls[i].callref) {
pritap            466 src/ftmod/ftmod_pritap/ftmod_pritap.c 		tstcrv = tap_pri_get_crv(pritap->pri, pritap->pcalls[i].callref);
pritap            469 src/ftmod/ftmod_pritap/ftmod_pritap.c 					pritap->span->name, crv, pritap->pcalls[i].callref);
pritap            470 src/ftmod/ftmod_pritap/ftmod_pritap.c 			if (!pritap->pcalls[i].inuse) {
pritap            472 src/ftmod/ftmod_pritap/ftmod_pritap.c 						i, pritap->span->name, crv, pritap->pcalls[i].callref);
pritap            474 src/ftmod/ftmod_pritap/ftmod_pritap.c 			pritap->pcalls[i].inuse = 0;
pritap            478 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            481 src/ftmod/ftmod_pritap/ftmod_pritap.c static __inline__ ftdm_channel_t *tap_pri_get_fchan(pritap_t *pritap, passive_call_t *pcall, int channel)
pritap            485 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!chanpos || chanpos > pritap->span->chan_count) {
pritap            486 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log(FTDM_LOG_CRIT, "Invalid pri tap channel %d requested in span %s\n", channel, pritap->span->name);
pritap            490 src/ftmod/ftmod_pritap/ftmod_pritap.c 	fchan = pritap->span->channels[PRI_CHANNEL(channel)];
pritap            492 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log(FTDM_LOG_ERROR, "Channel %d requested in span %s is already in use!\n", channel, pritap->span->name);
pritap            497 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log(FTDM_LOG_ERROR, "Could not open tap channel %d requested in span %s\n", channel, pritap->span->name);
pritap            515 src/ftmod/ftmod_pritap/ftmod_pritap.c static void handle_pri_passive_event(pritap_t *pritap, pri_event *e)
pritap            523 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *peertap = pritap->peerspan->signal_data;
pritap            530 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->ring.call);
pritap            532 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->ring.channel), PRI_CHANNEL(e->ring.channel), crv);
pritap            533 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pcall = tap_pri_get_pcall_bycrv(pritap, crv);
pritap            538 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pcall = tap_pri_get_pcall(pritap, NULL);
pritap            551 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->ring.call);
pritap            553 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            557 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->proceeding.call);
pritap            561 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            567 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            574 src/ftmod/ftmod_pritap/ftmod_pritap.c 		peerpcall = tap_pri_get_pcall(pritap, NULL);
pritap            577 src/ftmod/ftmod_pritap/ftmod_pritap.c 					crv, pritap->span->name);
pritap            596 src/ftmod/ftmod_pritap/ftmod_pritap.c 		fchan = tap_pri_get_fchan(pritap, pcall, e->proceeding.channel);
pritap            599 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            619 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->answer.call);
pritap            621 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv);
pritap            622 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (!(pcall = tap_pri_get_pcall_bycrv(pritap, crv))) {
pritap            625 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            632 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->hangup.call);
pritap            634 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv);
pritap            636 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (!(pcall = tap_pri_get_pcall_bycrv(pritap, crv))) {
pritap            639 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            648 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->hangup.call);
pritap            650 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv);
pritap            651 src/ftmod/ftmod_pritap/ftmod_pritap.c 		tap_pri_put_pcall(pritap, e->hangup.call);
pritap            656 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log(FTDM_LOG_DEBUG, "Ignoring passive event %s on span %s\n", pri_event2str(e->gen.e), pritap->span->name);
pritap            665 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = span->signal_data;
pritap            672 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->span = span;
pritap            676 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdm_channel_open(span->span_id, pritap->dchan->chan_id, &pritap->dchan) != FTDM_SUCCESS) {
pritap            681 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if ((pritap->pri = pri_new_cb(pritap->dchan->sockfd, PRI_NETWORK, PRI_SWITCH_NI2, pri_io_read, pri_io_write, pritap))){
pritap            682 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pri_set_debug(pritap->pri, pritap->debug);
pritap            688 src/ftmod/ftmod_pritap/ftmod_pritap.c 	dpoll.fd = pritap->dchan->sockfd;
pritap            709 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pri_schedule_run(pritap->pri);
pritap            713 src/ftmod/ftmod_pritap/ftmod_pritap.c 				event = pri_read_event(pritap->pri);
pritap            715 src/ftmod/ftmod_pritap/ftmod_pritap.c 					handle_pri_passive_event(pritap, event);
pritap            729 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_clear_flag(pritap, PRITAP_RUNNING);
pritap            736 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = span->signal_data;
pritap            738 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!ftdm_test_flag(pritap, PRITAP_RUNNING)) {
pritap            748 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_destroy(&pritap->pcalls_lock);
pritap            808 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = span->signal_data;
pritap            810 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdm_test_flag(pritap, PRITAP_RUNNING)) {
pritap            814 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_create(&pritap->pcalls_lock);
pritap            819 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_set_flag(pritap, PRITAP_RUNNING);
pritap            835 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = NULL;
pritap            877 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap = ftdm_calloc(1, sizeof(*pritap));
pritap            878 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!pritap) {
pritap            882 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->debug = parse_debug(debug);
pritap            883 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->dchan = dchan;
pritap            884 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->peerspan = peerspan;
pritap            891 src/ftmod/ftmod_pritap/ftmod_pritap.c 	span->signal_data = pritap;