aboutsummaryrefslogtreecommitdiffstats
path: root/addons/chan_ooh323.h
diff options
context:
space:
mode:
Diffstat (limited to 'addons/chan_ooh323.h')
-rw-r--r--addons/chan_ooh323.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/addons/chan_ooh323.h b/addons/chan_ooh323.h
new file mode 100644
index 000000000..bce62bd11
--- /dev/null
+++ b/addons/chan_ooh323.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2004-2005 by Objective Systems, Inc.
+ *
+ * This software is furnished under an open source license and may be
+ * used and copied only in accordance with the terms of this license.
+ * The text of the license may generally be found in the root
+ * directory of this installation in the COPYING file. It
+ * can also be viewed online at the following URL:
+ *
+ * http://www.obj-sys.com/open/license.html
+ *
+ * Any redistributions of this file including modified versions must
+ * maintain this copyright notice.
+ *
+ *****************************************************************************/
+#ifndef _OO_CHAN_H323_H_
+#define _OO_CHAN_H323_H_
+
+#include <asterisk.h>
+#undef PACKAGE_NAME
+#undef PACKAGE_TARNAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_STRING
+#undef PACKAGE_BUGREPORT
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/socket.h>
+#include <sys/param.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <unistd.h>
+#include <netdb.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/signal.h>
+
+#include <asterisk/lock.h>
+#include <asterisk/channel.h>
+#include <asterisk/config.h>
+#include <asterisk/logger.h>
+#include <asterisk/module.h>
+#include <asterisk/pbx.h>
+#include <asterisk/utils.h>
+#include <asterisk/options.h>
+#include <asterisk/sched.h>
+#include <asterisk/io.h>
+#include <asterisk/causes.h>
+#include <asterisk/rtp.h>
+#include <asterisk/acl.h>
+#include <asterisk/callerid.h>
+#include <asterisk/file.h>
+#include <asterisk/cli.h>
+#include <asterisk/app.h>
+#include <asterisk/musiconhold.h>
+#include <asterisk/manager.h>
+#include <asterisk/dsp.h>
+#include <asterisk/stringfields.h>
+
+#include "ootypes.h"
+#include "ooCapability.h"
+#include "oochannels.h"
+#include "ooh323ep.h"
+#include "ooh323cDriver.h"
+#include "ooCalls.h"
+#include "ooq931.h"
+#include "ooStackCmds.h"
+#include "ooCapability.h"
+#include "ooGkClient.h"
+
+
+struct ooh323_pvt;
+struct ooh323_user;
+struct ooh323_peer;
+/* Helper functions */
+struct ooh323_user *find_user(const char * name, const char *ip);
+struct ooh323_peer *find_peer(const char * name, int port);
+void ooh323_delete_peer(struct ooh323_peer *peer);
+
+int delete_users(void);
+int delete_peers(void);
+
+int ooh323_destroy(struct ooh323_pvt *p);
+int reload_config(int reload);
+int restart_monitor(void);
+
+int configure_local_rtp(struct ooh323_pvt *p, ooCallData* call);
+void setup_rtp_connection(ooCallData *call, const char *remoteIp,
+ int remotePort);
+void close_rtp_connection(ooCallData *call);
+struct ast_frame *ooh323_rtp_read
+ (struct ast_channel *ast, struct ooh323_pvt *p);
+
+void ooh323_set_write_format(ooCallData *call, int fmt);
+void ooh323_set_read_format(ooCallData *call, int fmt);
+
+int ooh323_update_capPrefsOrderForCall
+ (ooCallData *call, struct ast_codec_pref *prefs);
+
+int ooh323_convertAsteriskCapToH323Cap(int cap);
+
+int ooh323_convert_hangupcause_asteriskToH323(int cause);
+int ooh323_convert_hangupcause_h323ToAsterisk(int cause);
+int update_our_aliases(ooCallData *call, struct ooh323_pvt *p);
+
+/* h323 msg callbacks */
+int ooh323_onReceivedSetup(ooCallData *call, Q931Message *pmsg);
+int ooh323_onReceivedDigit(OOH323CallData *call, const char* digit);
+#endif