summaryrefslogtreecommitdiff
path: root/pjsip/include/pjsip-ua/sip_ua.h
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2005-11-09 16:27:11 +0000
committerBenny Prijono <bennylp@teluu.com>2005-11-09 16:27:11 +0000
commit9f379fcbe89024353a25b3737d79ec7a82b6408f (patch)
treeb6ce94ad1d8af3ffdf4fa82fe659d50d9ece34db /pjsip/include/pjsip-ua/sip_ua.h
parentd578e2e00a14e5faa775c51a25ddbc2f3d3a2fda (diff)
Begin organizing directory structure of pjsip
git-svn-id: http://svn.pjsip.org/repos/pjproject/main@38 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/include/pjsip-ua/sip_ua.h')
-rw-r--r--pjsip/include/pjsip-ua/sip_ua.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/pjsip/include/pjsip-ua/sip_ua.h b/pjsip/include/pjsip-ua/sip_ua.h
new file mode 100644
index 00000000..87e6f3a7
--- /dev/null
+++ b/pjsip/include/pjsip-ua/sip_ua.h
@@ -0,0 +1,82 @@
+/* $Id$
+ *
+ */
+#ifndef __PJSIP_SIP_UA_H__
+#define __PJSIP_SIP_UA_H__
+
+/**
+ * @file ua.h
+ * @brief SIP User Agent Library
+ */
+
+#include <pjsip_mod_ua/sip_dialog.h>
+
+PJ_BEGIN_DECL
+
+/**
+ * @defgroup PJSUA SIP User Agent Stack
+ */
+
+/**
+ * @defgroup PJSUA_UA SIP User Agent
+ * @ingroup PJSUA
+ * @{
+ * \brief
+ * User Agent manages the interactions between application and SIP dialogs.
+ */
+
+typedef struct pjsip_dlg_callback pjsip_dlg_callback;
+
+/**
+ * \brief This structure describes a User Agent instance.
+ */
+struct pjsip_user_agent
+{
+ pjsip_endpoint *endpt;
+ pj_pool_t *pool;
+ pj_mutex_t *mutex;
+ pj_uint32_t mod_id;
+ pj_hash_table_t *dlg_table;
+ pjsip_dlg_callback *dlg_cb;
+ pj_list dlg_list;
+};
+
+/**
+ * Create a new dialog.
+ */
+PJ_DECL(pjsip_dlg*) pjsip_ua_create_dialog( pjsip_user_agent *ua,
+ pjsip_role_e role );
+
+
+/**
+ * Destroy dialog.
+ */
+PJ_DECL(void) pjsip_ua_destroy_dialog( pjsip_dlg *dlg );
+
+
+/**
+ * Register callback to receive dialog notifications.
+ */
+PJ_DECL(void) pjsip_ua_set_dialog_callback( pjsip_user_agent *ua,
+ pjsip_dlg_callback *cb );
+
+
+/**
+ * Get the module interface for the UA module.
+ */
+PJ_DECL(pjsip_module*) pjsip_ua_get_module(void);
+
+
+/**
+ * Dump user agent state to log file.
+ */
+PJ_DECL(void) pjsip_ua_dump( pjsip_user_agent *ua );
+
+/**
+ * @}
+ */
+
+PJ_END_DECL
+
+#endif /* __PJSIP_UA_H__ */
+