ts                266 src/ftmod/ftmod_analog/ftmod_analog.c static int teletone_handler(teletone_generation_session_t *ts, teletone_tone_map_t *map)
ts                268 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_buffer_t *dt_buffer = ts->user_data;
ts                274 src/ftmod/ftmod_analog/ftmod_analog.c 	wrote = teletone_mux_tones(ts, map);
ts                275 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_buffer_write(dt_buffer, ts->buffer, wrote * 2);
ts                337 src/ftmod/ftmod_analog/ftmod_analog.c 	teletone_generation_session_t ts;
ts                351 src/ftmod/ftmod_analog/ftmod_analog.c 	ts.buffer = NULL;
ts                372 src/ftmod/ftmod_analog/ftmod_analog.c 	teletone_init_session(&ts, 0, teletone_handler, dt_buffer);
ts                373 src/ftmod/ftmod_analog/ftmod_analog.c 	ts.rate = 8000;
ts                375 src/ftmod/ftmod_analog/ftmod_analog.c 	ts.debug = 1;
ts                376 src/ftmod/ftmod_analog/ftmod_analog.c 	ts.debug_stream = stdout;
ts                486 src/ftmod/ftmod_analog/ftmod_analog.c 						ts.user_data = ftdmchan->fsk_buffer;
ts                487 src/ftmod/ftmod_analog/ftmod_analog.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]);
ts                488 src/ftmod/ftmod_analog/ftmod_analog.c 						ts.user_data = dt_buffer;
ts                592 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]);
ts                605 src/ftmod/ftmod_analog/ftmod_analog.c 					ts.user_data = ftdmchan->fsk_buffer;
ts                606 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]);
ts                607 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_CAS]);
ts                608 src/ftmod/ftmod_analog/ftmod_analog.c 					ts.user_data = dt_buffer;
ts                637 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]);
ts                647 src/ftmod/ftmod_analog/ftmod_analog.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]);
ts                658 src/ftmod/ftmod_analog/ftmod_analog.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]);
ts                815 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ts.buffer) {
ts                816 src/ftmod/ftmod_analog/ftmod_analog.c 		teletone_destroy_session(&ts);
ts                192 src/ftmod/ftmod_analog_em/ftmod_analog_em.c static int teletone_handler(teletone_generation_session_t *ts, teletone_tone_map_t *map)
ts                194 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_buffer_t *dt_buffer = ts->user_data;
ts                200 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	wrote = teletone_mux_tones(ts, map);
ts                201 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_buffer_write(dt_buffer, ts->buffer, wrote * 2);
ts                214 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	teletone_generation_session_t ts;
ts                228 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ts.buffer = NULL;
ts                248 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	teletone_init_session(&ts, 0, teletone_handler, dt_buffer);
ts                249 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ts.rate = 8000;
ts                251 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ts.debug = 1;
ts                252 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ts.debug_stream = stdout;
ts                418 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]);
ts                427 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]);
ts                436 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]);
ts                447 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]);
ts                568 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	if (ts.buffer) {
ts                569 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		teletone_destroy_session(&ts);
ts                146 src/ftmod/ftmod_isdn/ftmod_isdn.c         pcaphdr.ts.tv_sec  	= 0;
ts                147 src/ftmod/ftmod_isdn/ftmod_isdn.c         pcaphdr.ts.tv_usec 	= 0;
ts                167 src/ftmod/ftmod_isdn/ftmod_isdn.c 		pcaphdr.ts.tv_sec 	= 0;
ts                168 src/ftmod/ftmod_isdn/ftmod_isdn.c 		pcaphdr.ts.tv_usec 	= 0;
ts                187 src/ftmod/ftmod_isdn/ftmod_isdn.c 	struct timeval		ts;
ts                246 src/ftmod/ftmod_isdn/ftmod_isdn.c         gettimeofday(&ts, NULL);
ts                248 src/ftmod/ftmod_isdn/ftmod_isdn.c         pcaphdr.ts.tv_sec = ts.tv_sec;
ts                249 src/ftmod/ftmod_isdn/ftmod_isdn.c         pcaphdr.ts.tv_usec = ts.tv_usec;
ts               1593 src/ftmod/ftmod_isdn/ftmod_isdn.c static int teletone_handler(teletone_generation_session_t *ts, teletone_tone_map_t *map)
ts               1595 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_buffer_t *dt_buffer = ts->user_data;
ts               1601 src/ftmod/ftmod_isdn/ftmod_isdn.c 	wrote = teletone_mux_tones(ts, map);
ts               1602 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_buffer_write(dt_buffer, ts->buffer, wrote * 2);
ts               1616 src/ftmod/ftmod_isdn/ftmod_isdn.c 	teletone_generation_session_t ts = {{{{0}}}};
ts               1645 src/ftmod/ftmod_isdn/ftmod_isdn.c 	teletone_init_session(&ts, 0, teletone_handler, dt_buffer);
ts               1646 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ts.rate     = 8000;
ts               1647 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ts.duration = ts.rate;
ts               1695 src/ftmod/ftmod_isdn/ftmod_isdn.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]);
ts               1705 src/ftmod/ftmod_isdn/ftmod_isdn.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]);
ts               1781 src/ftmod/ftmod_isdn/ftmod_isdn.c 		offset += (ts.rate / (1000 / interval)) << 1;
ts               1782 src/ftmod/ftmod_isdn/ftmod_isdn.c 		if (offset >= ts.rate) {
ts               1788 src/ftmod/ftmod_isdn/ftmod_isdn.c 	if (ts.buffer) {
ts               1789 src/ftmod/ftmod_isdn/ftmod_isdn.c 		teletone_destroy_session(&ts);
ts                692 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cfg.c 	cfg.t.cfg.s.sdDLSAP.ts				=;							/* SIOS transmission interval */
ts                166 src/include/private/libteletone_generate.h typedef int (*tone_handler)(struct teletone_generation_session *ts, teletone_tone_map_t *map);
ts                223 src/include/private/libteletone_generate.h TELETONE_API(int) teletone_set_tone(teletone_generation_session_t *ts, int index, ...);
ts                241 src/include/private/libteletone_generate.h TELETONE_API(int) teletone_init_session(teletone_generation_session_t *ts, int buflen, tone_handler handler, void *user_data);
ts                248 src/include/private/libteletone_generate.h TELETONE_API(int) teletone_destroy_session(teletone_generation_session_t *ts);
ts                256 src/include/private/libteletone_generate.h TELETONE_API(int) teletone_mux_tones(teletone_generation_session_t *ts, teletone_tone_map_t *map);
ts                264 src/include/private/libteletone_generate.h TELETONE_API(int) teletone_run(teletone_generation_session_t *ts, const char *cmd);
ts                 67 src/libteletone_generate.c TELETONE_API(int) teletone_set_tone(teletone_generation_session_t *ts, int index, ...)
ts                 75 src/libteletone_generate.c 		ts->TONES[index].freqs[i++] = x;
ts                 99 src/libteletone_generate.c TELETONE_API(int) teletone_init_session(teletone_generation_session_t *ts, int buflen, tone_handler handler, void *user_data)
ts                101 src/libteletone_generate.c 	memset(ts, 0, sizeof(*ts));
ts                102 src/libteletone_generate.c 	ts->rate = 8000;
ts                103 src/libteletone_generate.c 	ts->channels = 1;
ts                104 src/libteletone_generate.c 	ts->duration = 2000;
ts                105 src/libteletone_generate.c 	ts->wait = 500;
ts                106 src/libteletone_generate.c 	ts->tmp_duration = -1;
ts                107 src/libteletone_generate.c 	ts->tmp_wait = -1;
ts                108 src/libteletone_generate.c 	ts->handler = handler;
ts                109 src/libteletone_generate.c 	ts->user_data = user_data;
ts                110 src/libteletone_generate.c 	ts->volume = -7;
ts                111 src/libteletone_generate.c 	ts->decay_step = 0;
ts                112 src/libteletone_generate.c 	ts->decay_factor = 1;
ts                114 src/libteletone_generate.c 		if ((ts->buffer = ftdm_calloc(buflen, sizeof(teletone_audio_t))) == 0) {
ts                117 src/libteletone_generate.c 		ts->datalen = buflen;
ts                119 src/libteletone_generate.c 		ts->dynamic = 1024;
ts                122 src/libteletone_generate.c 	teletone_set_tone(ts, '1', 697.0, 1209.0, 0.0);
ts                123 src/libteletone_generate.c 	teletone_set_tone(ts, '2', 697.0, 1336.0, 0.0);
ts                124 src/libteletone_generate.c 	teletone_set_tone(ts, '3', 697.0, 1477.0, 0.0);
ts                125 src/libteletone_generate.c 	teletone_set_tone(ts, 'A', 697.0, 1633.0, 0.0);
ts                126 src/libteletone_generate.c 	teletone_set_tone(ts, '4', 770.0, 1209.0, 0.0);
ts                127 src/libteletone_generate.c 	teletone_set_tone(ts, '5', 770.0, 1336.0, 0.0);
ts                128 src/libteletone_generate.c 	teletone_set_tone(ts, '6', 770.0, 1477.0, 0.0);
ts                129 src/libteletone_generate.c 	teletone_set_tone(ts, 'B', 770.0, 1633.0, 0.0);
ts                130 src/libteletone_generate.c 	teletone_set_tone(ts, '7', 859.0, 1209.0, 0.0);
ts                131 src/libteletone_generate.c 	teletone_set_tone(ts, '8', 859.0, 1336.0, 0.0);
ts                132 src/libteletone_generate.c 	teletone_set_tone(ts, '9', 859.0, 1477.0, 0.0);
ts                133 src/libteletone_generate.c 	teletone_set_tone(ts, 'C', 859.0, 1633.0, 0.0);
ts                134 src/libteletone_generate.c 	teletone_set_tone(ts, '*', 941.0, 1209.0, 0.0);
ts                135 src/libteletone_generate.c 	teletone_set_tone(ts, '0', 941.0, 1336.0, 0.0);
ts                136 src/libteletone_generate.c 	teletone_set_tone(ts, '#', 941.0, 1477.0, 0.0);
ts                137 src/libteletone_generate.c 	teletone_set_tone(ts, 'D', 941.0, 1633.0, 0.0);
ts                142 src/libteletone_generate.c TELETONE_API(int) teletone_destroy_session(teletone_generation_session_t *ts)
ts                144 src/libteletone_generate.c 	if (ts->buffer) {
ts                145 src/libteletone_generate.c 		ftdm_safe_free(ts->buffer);
ts                146 src/libteletone_generate.c 		ts->buffer = NULL;
ts                147 src/libteletone_generate.c 		ts->samples = 0;
ts                152 src/libteletone_generate.c static int ensure_buffer(teletone_generation_session_t *ts, int need)
ts                154 src/libteletone_generate.c 	need += ts->samples;
ts                156 src/libteletone_generate.c 	need *= ts->channels;
ts                158 src/libteletone_generate.c 	if (need > ts->datalen) {
ts                160 src/libteletone_generate.c 		ts->datalen = need + ts->dynamic;
ts                161 src/libteletone_generate.c 		tmp = realloc(ts->buffer, ts->datalen);
ts                165 src/libteletone_generate.c 		ts->buffer = tmp;
ts                171 src/libteletone_generate.c TELETONE_API(int) teletone_mux_tones(teletone_generation_session_t *ts, teletone_tone_map_t *map)
ts                182 src/libteletone_generate.c 	float vol = ts->volume;
ts                183 src/libteletone_generate.c 	ts->samples = 0;
ts                185 src/libteletone_generate.c 	duration = (ts->tmp_duration > -1) ? ts->tmp_duration : ts->duration;
ts                186 src/libteletone_generate.c 	wait = (ts->tmp_wait > -1) ? ts->tmp_wait : ts->wait;
ts                190 src/libteletone_generate.c 			teletone_dds_state_set_tone(&tones[freqlen], map->freqs[freqlen], ts->rate, 0);
ts                194 src/libteletone_generate.c 		if (ts->channels > 1) {
ts                195 src/libteletone_generate.c 			duration *= ts->channels;
ts                198 src/libteletone_generate.c 		if (ts->dynamic) {
ts                199 src/libteletone_generate.c 			if (ensure_buffer(ts, duration)) {
ts                204 src/libteletone_generate.c 		for (ts->samples = 0; ts->samples < ts->datalen && ts->samples < duration; ts->samples++) {
ts                205 src/libteletone_generate.c 			if (ts->decay_direction && ++dc >= ts->decay_step) {
ts                206 src/libteletone_generate.c 				float nvol = vol + ts->decay_direction * ts->decay_factor;
ts                225 src/libteletone_generate.c 			ts->buffer[ts->samples] = (teletone_audio_t)sample;
ts                227 src/libteletone_generate.c 			for (c = 1; c < ts->channels; c++) {
ts                228 src/libteletone_generate.c 				ts->buffer[ts->samples+1] = ts->buffer[ts->samples];
ts                229 src/libteletone_generate.c 				ts->samples++;
ts                234 src/libteletone_generate.c 	if (ts->dynamic) {
ts                235 src/libteletone_generate.c 		if (ensure_buffer(ts, wait)) {
ts                239 src/libteletone_generate.c 	for (c = 0; c < ts->channels; c++) {
ts                240 src/libteletone_generate.c 		for (i = 0; i < wait && ts->samples < ts->datalen; i++) {
ts                241 src/libteletone_generate.c 			ts->buffer[ts->samples++] = 0;
ts                245 src/libteletone_generate.c 	if (ts->debug && ts->debug_stream) {
ts                247 src/libteletone_generate.c 			fprintf(ts->debug_stream, "wait %d (%dms)\n", wait, wait / (ts->rate / 1000));
ts                249 src/libteletone_generate.c 			fprintf(ts->debug_stream, "Generate: (");
ts                252 src/libteletone_generate.c 				fprintf(ts->debug_stream, "%s%0.2f", i == 0 ? "" : "+",map->freqs[i]);
ts                255 src/libteletone_generate.c 			fprintf(ts->debug_stream, 
ts                257 src/libteletone_generate.c 					ts->volume,
ts                259 src/libteletone_generate.c 					duration / (ts->rate / 1000), 
ts                260 src/libteletone_generate.c 					ts->channels,
ts                261 src/libteletone_generate.c 					ts->channels == 1 ? "" : "s",
ts                263 src/libteletone_generate.c 					wait / (ts->rate / 1000),
ts                264 src/libteletone_generate.c 					ts->decay_factor,
ts                265 src/libteletone_generate.c 					ts->decay_step,
ts                266 src/libteletone_generate.c 					ts->decay_step / (ts->rate / 1000),					
ts                267 src/libteletone_generate.c 					ts->samples * 2);
ts                270 src/libteletone_generate.c 	return ts->samples / ts->channels;
ts                273 src/libteletone_generate.c TELETONE_API(int) teletone_run(teletone_generation_session_t *ts, const char *cmd)
ts                304 src/libteletone_generate.c 					ts->channels = atoi(cur + 2);
ts                307 src/libteletone_generate.c 					ts->rate = atoi(cur + 2);
ts                310 src/libteletone_generate.c 					ts->duration = atoi(cur + 2) * (ts->rate / 1000);
ts                316 src/libteletone_generate.c 							ts->volume = vol;
ts                321 src/libteletone_generate.c 					ts->decay_step = atoi(cur + 2) * (ts->rate / 1000);
ts                322 src/libteletone_generate.c 					ts->decay_direction = -1;
ts                325 src/libteletone_generate.c 					ts->decay_step = atoi(cur + 2) * (ts->rate / 1000);
ts                326 src/libteletone_generate.c 					ts->decay_direction = 1;
ts                329 src/libteletone_generate.c 					ts->decay_factor = (float)atof(cur + 2);
ts                332 src/libteletone_generate.c 					ts->wait = atoi(cur + 2) * (ts->rate / 1000);
ts                335 src/libteletone_generate.c 					ts->loops = atoi(cur + 2); 
ts                339 src/libteletone_generate.c 						ts->LOOPS = atoi(cur + 2); 
ts                354 src/libteletone_generate.c 					ts->tmp_duration = -1;
ts                355 src/libteletone_generate.c 					ts->tmp_wait = -1;
ts                372 src/libteletone_generate.c 									ts->tmp_duration = atoi(p) * (ts->rate / 1000);
ts                375 src/libteletone_generate.c 									ts->tmp_wait = atoi(p) * (ts->rate / 1000);
ts                386 src/libteletone_generate.c 								if (ts->debug && ts->debug_stream) {
ts                387 src/libteletone_generate.c 									fprintf(ts->debug_stream, "Syntax Error!\n");
ts                396 src/libteletone_generate.c 							mapp = &ts->TONES[(int)*cur];
ts                397 src/libteletone_generate.c 						} else if (ts->debug && ts->debug_stream) {
ts                398 src/libteletone_generate.c 							fprintf(ts->debug_stream, "Map [%c] Out Of Range!\n", *cur);
ts                404 src/libteletone_generate.c 							if (ts->handler) {
ts                406 src/libteletone_generate.c 									ts->handler(ts, mapp);
ts                407 src/libteletone_generate.c 									if (ts->loops > 0) {
ts                408 src/libteletone_generate.c 										ts->loops--;
ts                410 src/libteletone_generate.c 								} while (ts->loops);
ts                412 src/libteletone_generate.c 						} else if (ts->debug && ts->debug_stream) {
ts                413 src/libteletone_generate.c 							fprintf(ts->debug_stream, "Ignoring Empty Map [%c]!\n", *cur);
ts                434 src/libteletone_generate.c 		if (ts->LOOPS > 0) {
ts                435 src/libteletone_generate.c 			ts->LOOPS--;
ts                438 src/libteletone_generate.c 	} while (ts->LOOPS);
ts                  7 src/testtones.c static int teletone_handler(teletone_generation_session_t *ts, teletone_tone_map_t *map)
ts                  9 src/testtones.c 	struct ttmp *tmp = ts->user_data;
ts                 13 src/testtones.c 	wrote = teletone_mux_tones(ts, map);
ts                 14 src/testtones.c 	len = write(tmp->fd, ts->buffer, wrote * 2);
ts                 24 src/testtones.c 	teletone_generation_session_t ts;
ts                 37 src/testtones.c 	teletone_init_session(&ts, 0, teletone_handler, &tmp);
ts                 38 src/testtones.c 	ts.rate = 8000;
ts                 39 src/testtones.c 	ts.debug = 1;
ts                 40 src/testtones.c 	ts.debug_stream = stdout;
ts                 41 src/testtones.c 	teletone_run(&ts, argv[2]);