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            346 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = pri_get_userdata(pri);
pritap            349 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if ((zst = ftdm_channel_read(pritap->dchan, buf, &len)) != FTDM_SUCCESS) {
pritap            351 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            353 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_log(FTDM_LOG_CRIT, "span %d D channel read timeout!\n", pritap->span->span_id);
pritap            369 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = pri_get_userdata(pri);
pritap            372 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdm_channel_write(pritap->dchan, buf, buflen, &len) != FTDM_SUCCESS) {
pritap            373 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            389 src/ftmod/ftmod_pritap/ftmod_pritap.c static passive_call_t *tap_pri_get_pcall_bycrv(pritap_t *pritap, int crv)
pritap            394 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_lock(pritap->pcalls_lock);
pritap            396 src/ftmod/ftmod_pritap/ftmod_pritap.c 	for (i = 0; i < ftdm_array_len(pritap->pcalls); i++) {
pritap            397 src/ftmod/ftmod_pritap/ftmod_pritap.c 		tstcrv = pritap->pcalls[i].callref ? tap_pri_get_crv(pritap->pri, pritap->pcalls[i].callref) : 0;
pritap            398 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (pritap->pcalls[i].callref && tstcrv == crv) {
pritap            399 src/ftmod/ftmod_pritap/ftmod_pritap.c 			if (!pritap->pcalls[i].inuse) {
pritap            401 src/ftmod/ftmod_pritap/ftmod_pritap.c 						crv, i, pritap->span->name, pritap->pcalls[i].callref);
pritap            405 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            407 src/ftmod/ftmod_pritap/ftmod_pritap.c 			return &pritap->pcalls[i];
pritap            411 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            416 src/ftmod/ftmod_pritap/ftmod_pritap.c static passive_call_t *tap_pri_get_pcall(pritap_t *pritap, void *callref)
pritap            421 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_lock(pritap->pcalls_lock);
pritap            423 src/ftmod/ftmod_pritap/ftmod_pritap.c 	for (i = 0; i < ftdm_array_len(pritap->pcalls); i++) {
pritap            424 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (pritap->pcalls[i].callref && !pritap->pcalls[i].inuse) {
pritap            425 src/ftmod/ftmod_pritap/ftmod_pritap.c 			crv = tap_pri_get_crv(pritap->pri, pritap->pcalls[i].callref);
pritap            428 src/ftmod/ftmod_pritap/ftmod_pritap.c 					crv, pritap->pcalls[i].callref, pritap->span->name, i);
pritap            429 src/ftmod/ftmod_pritap/ftmod_pritap.c 			pri_passive_destroycall(pritap->pri, pritap->pcalls[i].callref);
pritap            430 src/ftmod/ftmod_pritap/ftmod_pritap.c 			memset(&pritap->pcalls[i], 0, sizeof(pritap->pcalls[0]));
pritap            432 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (callref == pritap->pcalls[i].callref) {
pritap            433 src/ftmod/ftmod_pritap/ftmod_pritap.c 			pritap->pcalls[i].inuse = 1;
pritap            435 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            437 src/ftmod/ftmod_pritap/ftmod_pritap.c 			return &pritap->pcalls[i];
pritap            441 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            446 src/ftmod/ftmod_pritap/ftmod_pritap.c static void tap_pri_put_pcall(pritap_t *pritap, void *callref)
pritap            453 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            457 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_lock(pritap->pcalls_lock);
pritap            459 src/ftmod/ftmod_pritap/ftmod_pritap.c 	crv = tap_pri_get_crv(pritap->pri, callref);
pritap            460 src/ftmod/ftmod_pritap/ftmod_pritap.c 	for (i = 0; i < ftdm_array_len(pritap->pcalls); i++) {
pritap            461 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (!pritap->pcalls[i].callref) {
pritap            464 src/ftmod/ftmod_pritap/ftmod_pritap.c 		tstcrv = tap_pri_get_crv(pritap->pri, pritap->pcalls[i].callref);
pritap            467 src/ftmod/ftmod_pritap/ftmod_pritap.c 					pritap->span->name, crv, pritap->pcalls[i].callref);
pritap            468 src/ftmod/ftmod_pritap/ftmod_pritap.c 			if (!pritap->pcalls[i].inuse) {
pritap            470 src/ftmod/ftmod_pritap/ftmod_pritap.c 						i, pritap->span->name, crv, pritap->pcalls[i].callref);
pritap            472 src/ftmod/ftmod_pritap/ftmod_pritap.c 			pritap->pcalls[i].inuse = 0;
pritap            476 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_unlock(pritap->pcalls_lock);
pritap            479 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            483 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!chanpos || chanpos > pritap->span->chan_count) {
pritap            484 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            488 src/ftmod/ftmod_pritap/ftmod_pritap.c 	fchan = pritap->span->channels[PRI_CHANNEL(channel)];
pritap            490 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            495 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            513 src/ftmod/ftmod_pritap/ftmod_pritap.c static void handle_pri_passive_event(pritap_t *pritap, pri_event *e)
pritap            521 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *peertap = pritap->peerspan->signal_data;
pritap            528 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->ring.call);
pritap            530 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->ring.channel), PRI_CHANNEL(e->ring.channel), crv);
pritap            531 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pcall = tap_pri_get_pcall_bycrv(pritap, crv);
pritap            536 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pcall = tap_pri_get_pcall(pritap, NULL);
pritap            549 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->ring.call);
pritap            551 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            555 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->proceeding.call);
pritap            559 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            565 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            572 src/ftmod/ftmod_pritap/ftmod_pritap.c 		peerpcall = tap_pri_get_pcall(pritap, NULL);
pritap            575 src/ftmod/ftmod_pritap/ftmod_pritap.c 					crv, pritap->span->name);
pritap            594 src/ftmod/ftmod_pritap/ftmod_pritap.c 		fchan = tap_pri_get_fchan(pritap, pcall, e->proceeding.channel);
pritap            597 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            617 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->answer.call);
pritap            619 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv);
pritap            620 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (!(pcall = tap_pri_get_pcall_bycrv(pritap, crv))) {
pritap            623 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            630 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->hangup.call);
pritap            632 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv);
pritap            634 src/ftmod/ftmod_pritap/ftmod_pritap.c 		if (!(pcall = tap_pri_get_pcall_bycrv(pritap, crv))) {
pritap            637 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv);
pritap            646 src/ftmod/ftmod_pritap/ftmod_pritap.c 		crv = tap_pri_get_crv(pritap->pri, e->hangup.call);
pritap            648 src/ftmod/ftmod_pritap/ftmod_pritap.c 				pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv);
pritap            649 src/ftmod/ftmod_pritap/ftmod_pritap.c 		tap_pri_put_pcall(pritap, e->hangup.call);
pritap            654 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            663 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = span->signal_data;
pritap            670 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->span = span;
pritap            674 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdm_channel_open(span->span_id, pritap->dchan->chan_id, &pritap->dchan) != FTDM_SUCCESS) {
pritap            679 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            680 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pri_set_debug(pritap->pri, pritap->debug);
pritap            686 src/ftmod/ftmod_pritap/ftmod_pritap.c 	dpoll.fd = pritap->dchan->sockfd;
pritap            707 src/ftmod/ftmod_pritap/ftmod_pritap.c 		pri_schedule_run(pritap->pri);
pritap            711 src/ftmod/ftmod_pritap/ftmod_pritap.c 				event = pri_read_event(pritap->pri);
pritap            713 src/ftmod/ftmod_pritap/ftmod_pritap.c 					handle_pri_passive_event(pritap, event);
pritap            727 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_clear_flag(pritap, PRITAP_RUNNING);
pritap            734 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = span->signal_data;
pritap            736 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!ftdm_test_flag(pritap, PRITAP_RUNNING)) {
pritap            746 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_destroy(&pritap->pcalls_lock);
pritap            806 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = span->signal_data;
pritap            808 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdm_test_flag(pritap, PRITAP_RUNNING)) {
pritap            812 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_mutex_create(&pritap->pcalls_lock);
pritap            817 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_set_flag(pritap, PRITAP_RUNNING);
pritap            833 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap_t *pritap = NULL;
pritap            875 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap = ftdm_calloc(1, sizeof(*pritap));
pritap            876 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!pritap) {
pritap            880 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->debug = parse_debug(debug);
pritap            881 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->dchan = dchan;
pritap            882 src/ftmod/ftmod_pritap/ftmod_pritap.c 	pritap->peerspan = peerspan;
pritap            889 src/ftmod/ftmod_pritap/ftmod_pritap.c 	span->signal_data = pritap;