libeXosip2(2-1) -- eXosip2 configuration API
eXosip2 configuration API
Data Structures
struct
eXosip_dns_cache
struct
eXosip_tls_credentials_s
struct
eXosip_tls_ctx_s
Macros
#define
EXOSIP_OPT_UDP_KEEP_ALIVE (EXOSIP_OPT_BASE_OPTION+1)
#define
EXOSIP_OPT_UDP_LEARN_PORT (EXOSIP_OPT_BASE_OPTION+2)
#define
EXOSIP_OPT_USE_RPORT (EXOSIP_OPT_BASE_OPTION+7)
#define
EXOSIP_OPT_SET_IPV4_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+8)
#define
EXOSIP_OPT_ADD_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+9)
#define
EXOSIP_OPT_DELETE_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+10)
#define
EXOSIP_OPT_SET_IPV6_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+12)
#define
EXOSIP_OPT_ADD_ACCOUNT_INFO (EXOSIP_OPT_BASE_OPTION+13)
#define
EXOSIP_OPT_DNS_CAPABILITIES (EXOSIP_OPT_BASE_OPTION+14)
#define
EXOSIP_OPT_SET_DSCP (EXOSIP_OPT_BASE_OPTION+15)
#define
EXOSIP_OPT_REGISTER_WITH_DATE (EXOSIP_OPT_BASE_OPTION+16)
#define
EXOSIP_OPT_SET_HEADER_USER_AGENT (EXOSIP_OPT_BASE_OPTION+17)
#define
EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE (EXOSIP_OPT_BASE_OPTION+500)
#define
EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO (EXOSIP_OPT_BASE_OPTION+501)
#define
EXOSIP_OPT_SET_TLS_CLIENT_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+502)
#define
EXOSIP_OPT_SET_TLS_SERVER_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+503)
Enumerations
enum
eXosip_tls_ctx_error {
TLS_OK = 0,
TLS_ERR_NO_RAND = -1,
TLS_ERR_NO_DH_PARAM = -2,
TLS_ERR_NO_PW = -3,
TLS_ERR_NO_ROOT_CA = -4,
TLS_ERR_MISSING_AUTH_PART = -5
}
Functions
struct eXosip_t *
eXosip_malloc (void)
int
eXosip_init (struct eXosip_t *excontext)
void
eXosip_quit (struct eXosip_t *excontext)
int
eXosip_lock (struct eXosip_t *excontext)
int
eXosip_unlock (struct eXosip_t *excontext)
int
eXosip_execute (struct eXosip_t *excontext)
int
eXosip_set_option (struct eXosip_t *excontext, int opt, const void *value)
struct osip_naptr *
eXosip_dnsutils_naptr (struct eXosip_t *excontext, const char *domain, const char *protocol, const char *transport, int keep_in_cache)
int
eXosip_dnsutils_dns_process (struct osip_naptr *output_record, int force)
int
eXosip_dnsutils_rotate_srv (struct osip_srv_record *output_record)
int
eXosip_listen_addr (struct eXosip_t *excontext, int transport, const char *addr, int port, int family, int secure)
int
eXosip_reset_transports (struct eXosip_t *excontext)
int
eXosip_set_socket (struct eXosip_t *excontext, int transport, int socket, int port)
void
eXosip_set_user_agent (struct eXosip_t *excontext, const char *user_agent)
const char *
eXosip_get_version (void)
int
eXosip_set_cbsip_message (struct eXosip_t *excontext, CbSipCallback cbsipCallback)
void
eXosip_enable_ipv6 (int ipv6_enable)
void
eXosip_masquerade_contact (struct eXosip_t *excontext, const char *public_address, int port)
int
eXosip_find_free_port (struct eXosip_t *excontext, int free_port, int transport)
Detailed Description
Macro Definition Documentation
#define EXOSIP_OPT_UDP_KEEP_ALIVE (EXOSIP_OPT_BASE_OPTION+1)
int *: interval for keep alive packets (UDP, TCP, TLS, DTLS)
#define EXOSIP_OPT_UDP_LEARN_PORT (EXOSIP_OPT_BASE_OPTION+2)
int *: specific re-usage of "rport"
#define EXOSIP_OPT_USE_RPORT (EXOSIP_OPT_BASE_OPTION+7)
int *: enable or disable rport in via
#define EXOSIP_OPT_SET_IPV4_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+8)
char *: usually, this is the proxy address
#define EXOSIP_OPT_ADD_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+9)
struct eXosip_dns_cache *: force some cache entry to avoid DNS
#define EXOSIP_OPT_DELETE_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+10)
struct eXosip_dns_cache *: force removal of some cache entry to avoid DNS
#define EXOSIP_OPT_SET_IPV6_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+12)
char *: usually, this is the proxy address
#define EXOSIP_OPT_ADD_ACCOUNT_INFO (EXOSIP_OPT_BASE_OPTION+13)
struct eXosip_account_info *: internal stuff
#define EXOSIP_OPT_DNS_CAPABILITIES (EXOSIP_OPT_BASE_OPTION+14)
int *: 0 to disable, 2 to use NAPTR/SRV record
#define EXOSIP_OPT_SET_DSCP (EXOSIP_OPT_BASE_OPTION+15)
int *: set a dscp value for SIP socket
#define EXOSIP_OPT_REGISTER_WITH_DATE (EXOSIP_OPT_BASE_OPTION+16)
int *: enable usage of Date header in REGISTER
#define EXOSIP_OPT_SET_HEADER_USER_AGENT (EXOSIP_OPT_BASE_OPTION+17)
char *: set the User-Agent header
#define EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE (EXOSIP_OPT_BASE_OPTION+500)
int *: enable verification of certificate for TLS connection
#define EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO (EXOSIP_OPT_BASE_OPTION+501)
eXosip_tls_ctx_t *: client and/or server certificate/ca-root/key info
#define EXOSIP_OPT_SET_TLS_CLIENT_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+502)
char*: user can choose a specific certifcate present in Windows Certificate Store
#define EXOSIP_OPT_SET_TLS_SERVER_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+503)
char*: user can choose a specific certifcate present in Windows Certificate Store
Enumeration Type Documentation
enum eXosip_tls_ctx_error
An enumeration which describes the error which can occur while setting the eXosip_tls_ctx
- Enumerator:
-
TLS_OK
yippieh, everything is fine :)
TLS_ERR_NO_RAND
no absolute path to the random file was specified
TLS_ERR_NO_DH_PARAM
no absolute path to the diifie hellman file was specified
TLS_ERR_NO_PW
no password was specified
TLS_ERR_NO_ROOT_CA
no absolute path to the rootCA file was specified
TLS_ERR_MISSING_AUTH_PART
something is missing: the private key or the certificate
Function Documentation
struct eXosip_t* eXosip_malloc
(
void
)
read
Allocate an eXosip context.
- Returns
- a new allocated eXosip_t instance.
int eXosip_init
(
struct eXosip_t *
excontext
)
Initiate the eXtented oSIP library.
- Parameters
-
excontext
eXosip_t instance.
void eXosip_quit
(
struct eXosip_t *
excontext
)
Release ressource used by the eXtented oSIP library.
- Parameters
-
excontext
eXosip_t instance.
int eXosip_lock
(
struct eXosip_t *
excontext
)
Lock the eXtented oSIP library.
- Parameters
-
excontext
eXosip_t instance.
int eXosip_unlock
(
struct eXosip_t *
excontext
)
UnLock the eXtented oSIP library.
- Parameters
-
excontext
eXosip_t instance.
int eXosip_execute
(
struct eXosip_t *
excontext
)
Process (non-threaded mode ONLY) eXosip events.
- Parameters
-
excontext
eXosip_t instance.
int eXosip_set_option
(
struct eXosip_t *
excontext,
int
opt,
const void *
value
)
Set eXosip options. See eXosip_option for available options.
- Parameters
-
excontext
eXosip_t instance.opt
option to configure.value
value for options.
struct osip_naptr* eXosip_dnsutils_naptr
(
struct eXosip_t *
excontext,
const char *
domain,
const char *
protocol,
const char *
transport,
int
keep_in_cache
)
read
Start and return osip_naptr context. Note that DNS results might not yet be available.
- Parameters
-
excontext
eXosip_t instance.domain
domain name for NAPTR recordprotocol
protocol to use ("SIP")transport
transport to use ("UDP")keep_in_cache
keep result in cache if >0
int eXosip_dnsutils_dns_process
(
struct osip_naptr *
output_record,
int
force
)
Continue to process asynchronous DNS request (if implemented).
- Parameters
-
output_record
result structure.force
force waiting for final answer if >0
int eXosip_dnsutils_rotate_srv
(
struct osip_srv_record *
output_record
)
Rotate first SRV entry to last SRV entry.
- Parameters
-
output_record
result structure.
int eXosip_listen_addr
(
struct eXosip_t *
excontext,
int
transport,
const char *
addr,
int
port,
int
family,
int
secure
)
Listen on a specified socket.
- Parameters
-
excontext
eXosip_t instance.transport
IPPROTO_UDP for udp. (soon to come: TCP/TLS?)addr
the address to bind (NULL for all interface)port
the listening port. (0 for random port)family
the IP family (AF_INET or AF_INET6).secure
0 for UDP or TCP, 1 for TLS (with TCP).
int eXosip_reset_transports
(
struct eXosip_t *
excontext
)
Reset transport sockets.
- Parameters
-
excontext
eXosip_t instance.
int eXosip_set_socket
(
struct eXosip_t *
excontext,
int
transport,
int
socket,
int
port
)
Listen on a specified socket.
- Parameters
-
excontext
eXosip_t instance.transport
IPPROTO_UDP for udp. (soon to come: TCP/TLS?)socket
socket to use for listening to UDP sip messages.port
the listening port for masquerading.
void eXosip_set_user_agent
(
struct eXosip_t *
excontext,
const char *
user_agent
)
Set the SIP User-Agent: header string.
- Parameters
-
excontext
eXosip_t instance.user_agent
the User-Agent header to insert in messages.
const char* eXosip_get_version
(
void
)
Get the eXosip version as a sring
int eXosip_set_cbsip_message
(
struct eXosip_t *
excontext,
CbSipCallback
cbsipCallback
)
Set a callback to get sent and received SIP messages.
- Parameters
-
excontext
eXosip_t instance.cbsipCallback
the callback to retreive messages.
void eXosip_enable_ipv6
(
int
ipv6_enable
)
Use IPv6 instead of IPv4.
- Parameters
-
ipv6_enable
This paramter should be set to 1 to enable IPv6 mode.
void eXosip_masquerade_contact
(
struct eXosip_t *
excontext,
const char *
public_address,
int
port
)
This method is used to replace contact address with the public address of your NAT. The ip address should be retreived manually (fixed IP address) or with STUN. This address will only be used when the remote correspondant appears to be on an DIFFERENT LAN.
- Parameters
-
excontext
eXosip_t instance.public_address
the ip address.port
the port for masquerading.
If set to NULL, then the local ip address will be guessed automatically (returns to default mode).
int eXosip_find_free_port
(
struct eXosip_t *
excontext,
int
free_port,
int
transport
)
This method is used to find out an free IPPROTO_UDP or IPPROTO_TCP port.
- Parameters
-
excontext
eXosip_t instance.free_port
initial port for search.transport
IPPROTO_UDP or IPPROTO_TCP protocol.
libeXosip2(2-1) -- eXosip2 configuration API的更多相关文章
- libeXosip2(2-3) -- eXosip2 event API
eXosip2 event API General purpose API. Data Structures struct eXosip_event Enumerations enum eXo ...
- libeXosip2(2-2) -- eXosip2 network API
eXosip2 network API General purpose API. Functions int eXosip_transport_set (osip_message_t *msg, c ...
- ASP.NET Web.config文件的配置(Configuration API)
本次我们讨论主要聚焦在以下Web.config配置文件的设置值的读取. 1.<connectionString />连接字符串的读取. 2.<appSettings />应用程 ...
- libeXosip2(2) -- General purpose API.
General purpose API. general purpose API in libeXosip2-4.0.0. More... Modules eXosip2 configuration ...
- libeXosip2(1) -- Modules
Modules Here is a list of all modules: [detail level 12] The eXtented eXosip stack LibeXosip2 Versio ...
- libeXosip2(3) -- SIP messages and call control API
SIP messages and call control API The SIP messages and call control API. More... Modules eXosip2 INV ...
- Hadoop源码之Configuration
本文hadoop版本为最新版本2.6.Configuration做为Hadoop的一个基础功能承担着重要的责任,为Yarn.HSFS.MapReduce.NFS.调度器等提供参数的配置.配置文件的分布 ...
- asp.net core 系列 10 配置configuration (上)
一. ASP.NET Core 中的配置概述 ASP.NET Core 中的应用配置是基于键值对,由configuration 程序提供. configuration 将从各种配置源提供程序操作键 ...
- asp.net core 系列之Configuration
在ASP.NET Core中的App configuration 是通过configuration providers基于key-value对建立的.Configuration providers读取 ...
随机推荐
- x2engine
x2engine 各版本下载 https://bitnami.com/stack/x2crm/installer https://bitnami.com/redirect/to/36211/bitna ...
- Java中线程池的学习
线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理.当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程 ...
- 第25讲 UI组件之 AlertDialog 的各种实现
第25讲 UI组件之AlertDialog 的各种实现 对话框(Dialog)是程序运行中的弹出窗口,例如当用户要删除一个联系方式时,会弹出一个对话框. Android提供了多种对话框:警告对话框(A ...
- python ctypes小例子
import time import ctypes import ctypes.wintypes SEE_MASK_NOCLOSEPROCESS = 0x00000040 SEE_MASK_INVOK ...
- Hibernate的查询 HQL查询 查询某几列
HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式.HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将H ...
- Cocos2d-x3.0游戏实例之《别救我》第二篇——创建物理世界
这篇我要给大家介绍两个知识点: 1. 创建游戏物理世界 2. 没了(小若:我噗) 害怕了?不用操心.这太简单了~! 笨木头花心贡献.啥?花心?不呢.是用心~ 转载请注明,原文地址:http://www ...
- Android中自定义ActionBar的背景色等样式style
Android中想要去自定义ActionBar的背景色等样式. [折腾过程] 1.自己找代码,发现对应的配置的地方了: AndroidManifest.xml ? 1 2 <applicatio ...
- 使用Gradle构建Android应用内测版本
在开发应用的过程中,有时候需要比较当前线上版本和正在开发中的版本差异,目前的做法只能是在两个不同的设备上面安装线上版本和开发中的版本,因为当前版本在调试过程中会覆盖旧版本.本文通过使用gradle来构 ...
- C#中DataTable转化JSON
[WebMethod(Description = "将一个DataTable对象转化成JSON")] public string GetJSON() { JavaScriptSer ...
- js参数截取
原代码: function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...