summaryrefslogtreecommitdiff
path: root/pjnath/src/pjturn-srv/main.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-03-09 12:55:00 +0000
committerBenny Prijono <bennylp@teluu.com>2008-03-09 12:55:00 +0000
commit9e0ebffd26e56586f6f2ab0469144c3685fc388c (patch)
tree7c06e7a3db2b951290462c2ca9580ab5daf57b79 /pjnath/src/pjturn-srv/main.c
parentfee9975ecfd058c88d5dd8648ec6ff6bc6ff40c3 (diff)
More work for ticket #485: updated pjnath with TURN-07 and added authentication in the server
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1852 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjnath/src/pjturn-srv/main.c')
-rw-r--r--pjnath/src/pjturn-srv/main.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/pjnath/src/pjturn-srv/main.c b/pjnath/src/pjturn-srv/main.c
index 823eb28a..55b450c9 100644
--- a/pjnath/src/pjturn-srv/main.c
+++ b/pjnath/src/pjturn-srv/main.c
@@ -1 +1,51 @@
#include "turn.h"
+
+int err(const char *title, pj_status_t status)
+{
+ char errmsg[PJ_ERR_MSG_SIZE];
+ pj_strerror(status, errmsg, sizeof(errmsg));
+
+ printf("%s: %s\n", title, errmsg);
+ return 1;
+}
+
+int main()
+{
+ pj_caching_pool cp;
+ pj_turn_srv *srv;
+ pj_turn_listener *listener;
+ pj_status_t status;
+
+ status = pj_init();
+ if (status != PJ_SUCCESS)
+ return err("pj_init() error", status);
+
+ pj_caching_pool_init(&cp, NULL, 0);
+
+ status = pj_turn_srv_create(&cp.factory, &srv);
+ if (status != PJ_SUCCESS)
+ return err("Error creating server", status);
+
+ status = pj_turn_listener_create_udp(srv, pj_AF_INET(), NULL, 3478, 1, 0, &listener);
+ if (status != PJ_SUCCESS)
+ return err("Error creating listener", status);
+
+ status = pj_turn_srv_add_listener(srv, listener);
+ if (status != PJ_SUCCESS)
+ return err("Error adding listener", status);
+
+ puts("Server is running");
+ puts("Press <ENTER> to quit");
+
+ {
+ char line[10];
+ fgets(line, sizeof(line), stdin);
+ }
+
+ pj_turn_srv_destroy(srv);
+ pj_caching_pool_destroy(&cp);
+ pj_shutdown();
+
+ return 0;
+}
+