This source file includes following definitions.
- main
1 #include "freetdm.h"
2 #include <stdlib.h>
3
4 int main(int argc, char *argv[])
5 {
6 ftdm_global_set_default_logger(FTDM_LOG_LEVEL_DEBUG);
7 ftdm_channel_t *chan;
8 unsigned ms = 20;
9 ftdm_codec_t codec = FTDM_CODEC_SLIN;
10 unsigned runs = 1;
11 int spanid, chanid;
12
13
14 if (ftdm_global_init() != FTDM_SUCCESS) {
15 fprintf(stderr, "Error loading FreeTDM\n");
16 exit(-1);
17 }
18
19 printf("FreeTDM loaded\n");
20
21 top:
22
23 if (ftdm_channel_open(1, 1, &chan) == FTDM_SUCCESS) {
24 int x = 0;
25 spanid = ftdm_channel_get_span_id(chan);
26 chanid = ftdm_channel_get_id(chan);
27 printf("opened channel %d:%d\n", spanid, chanid);
28
29 #if 1
30 if (ftdm_channel_command(chan, FTDM_COMMAND_SET_INTERVAL, &ms) == FTDM_SUCCESS) {
31 ms = 0;
32 ftdm_channel_command(chan, FTDM_COMMAND_GET_INTERVAL, &ms);
33 printf("interval set to %u\n", ms);
34 } else {
35 printf("set interval failed [%s]\n", ftdm_channel_get_last_error(chan));
36 }
37 #endif
38 if (ftdm_channel_command(chan, FTDM_COMMAND_SET_CODEC, &codec) == FTDM_SUCCESS) {
39 codec = 1;
40 ftdm_channel_command(chan, FTDM_COMMAND_GET_CODEC, &codec);
41 printf("codec set to %u\n", codec);
42 } else {
43 printf("set codec failed [%s]\n", ftdm_channel_get_last_error(chan));
44 }
45
46 for(x = 0; x < 25; x++) {
47 unsigned char buf[2048];
48 ftdm_size_t len = sizeof(buf);
49 ftdm_wait_flag_t flags = FTDM_READ;
50
51 if (ftdm_channel_wait(chan, &flags, -1) == FTDM_FAIL) {
52 printf("wait FAIL! %u [%s]\n", (unsigned)len, ftdm_channel_get_last_error(chan));
53 }
54 if (flags & FTDM_READ) {
55 if (ftdm_channel_read(chan, buf, &len) == FTDM_SUCCESS) {
56 printf("READ: %u\n", (unsigned)len);
57 } else {
58 printf("READ FAIL! %u [%s]\n", (unsigned)len, ftdm_channel_get_last_error(chan));
59 break;
60 }
61 } else {
62 printf("wait fail [%s]\n", ftdm_channel_get_last_error(chan));
63 }
64 }
65 ftdm_channel_close(&chan);
66 } else {
67 printf("open fail [%s]\n", ftdm_channel_get_last_error(chan));
68 }
69
70 if(--runs) {
71 goto top;
72 }
73
74 ftdm_global_destroy();
75 return 0;
76 }
77
78
79
80
81
82
83
84
85
86
87