Miscenalleous: logs, version strings, config storage
杂项:日志、版本字符串、配置存储
数据结构
struct lp_config_to_dict
struct lp_config_from_dict
自定义类型
typedef enum _LinphoneAccountCreatorStatus LinphoneAccountCreatorStatus
typedef struct _LinphoneAccountCreator LinphoneAccountCreator
typedef struct _LinphoneAccountCreatorCbs LinphoneAccountCreatorCbs
typedef void(* LinphoneAccountCreatorCbsExistenceTestedCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorState status)
typedef void(* LinphoneAccountCreatorCbsValidationTestedCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorState status)
typedef void(* LinphoneAccountCreatorCbsCreateAccountCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorState status)
typedef struct _LinphoneBuffer LinphoneBuffer
typedef struct _LinphoneContent LinphoneContent
typedef enum _LinphoneReason LinphoneReason
typedef struct _LinphoneErrorInfo LinphoneErrorInfo
typedef struct _LpConfig LpConfig
typedef enum _LinphoneXmlRpcArgType LinphoneXmlRpcArgType
typedef enum _LinphoneXmlRpcStatus LinphoneXmlRpcStatus
typedef struct _LinphoneXmlRpcRequest LinphoneXmlRpcRequest
typedef struct _LinphoneXmlRpcRequestCbs LinphoneXmlRpcRequestCbs
typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession
typedef void(* LinphoneXmlRpcRequestCbsResponseCb)(LinphoneXmlRpcRequest* request)
枚举类型
enum _LinphoneAccountCreatorStatus{
LinphoneAccountCreatorOK,
LinphoneAccountCreatorReqFailed,
LinphoneAccountCreatorAccountCreated,
LinphoneAccountCreatorAccountNotCreated,
LinphoneAccountCreatorAccountExist,
LinphoneAccountCreatorAccountNotExist,
LinphoneAccountCreatorAccountValidated,
LinphoneAccountCreatorEmailInvalid,
LinphoneAccountCreatorUsernameInvalid,
LinphoneAccountCreatorUsernameTooShort,
LinphoneAccountCreatorUsernameTooLong,
LinphoneAccountCreatorUsernameInvalidSize,
LinphoneAccountCreatorPasswordTooShort,
LinphoneAccountCreatorPasswordTooLong,
LinphoneAccountCreatorDomainInvalid,
LinphoneAccountCreatorRouteInvalid,
LinphoneAccountCreatorDisplayNameInvalid,
LinphoneAccountCreatorTransportNotSupported
}
enum _LinphoneReason{
LinphoneReasonNone,
LinphoneReasonNoResponse,
LinphoneReasonForbidden,
LinphoneReasonDeclined,
LinphoneReasonNotAnswered,
LinphoneReasonBusy,
LinphoneReasonUnsupportedContent,
LinphoneReasonIOError,
LinphoneReasonDoNotDisturb,
LinphoneReasonUnauthorized,
LinphoneReasonNotAcceptable,
LinphoneReasonNoMatch,
LinphoneReasonMovedPermanently,
LinphoneReasonGone,
LinphoneReasonTemporarilyUnavailable,
LinphoneReaseonAddressIncomplete,
LinphoneReasonNotImplemented,
LinphoneReasonBadGateway,
LinphoneReasonServerTimeout,
LinphoneReasonUnknown
}
enum _LinphoneXmlRpcArgType{
LinphoneXmlRpcArgNone,
LinphoneXmlRpcArgInt,
LinphoneXmlRpcArgString,
}
enum _LinphoneXmlRpcStatus{
LinphoneXmlRpcStatusPending,
LinphoneXmlRpcStatusOk,
LinphoneXmlRpcStatusFailed
}
函数
详细描述
自定义类型文档
typedef struct _LinphoneAccountCreator LinphoneAccountCreator
LinphoneAccountCreator对象用于通过XML-RPC在服务器上创建一个帐号
typedef struct _LinphoneAccountCreatorCbs LinphoneAccountCreatorCbs
一个对象来处理回调,处理LinphoneAccountCreator操作
typedef void(* LinphoneAccountCreatorCbsCreateAccountCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status)
回调用于通知LinphoneAccountCreator验证操作结束
参数
[in] creator LinphoneAccountCreator对象
[in] status 刚刚结束的LinphoneAccountCreator验证操作的状态
typedef void(* LinphoneAccountCreatorCbsExistenceTestedCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status)
回调用于通知LinphoneAccountCreator测试存在操作结束
参数
[in] creator LinphoneAccountCreator对象
[in] status 刚刚结束的LinphoneAccountCreator测试存在操作的状态
typedef void(* LinphoneAccountCreatorCbsValidationTestedCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status)
回调用于通知LinphoneAccountCreator测试验证操作结束
参数
[in] creator LinphoneAccountCreator对象
[in] status 刚刚结束的LinphoneAccountCreator测试验证操作的状态
typedef enum _LinphoneAccountCreatorStatus LinphoneAccountCreatorStatus
枚举描述一个LinphoneAccountCreator操作的状态
typedef struct _LinphoneBuffer LinphoneBuffer
LinphoneContent对象代表一个数据缓冲区
typedef struct _LinphoneContent LinphoneContent
LinphoneContent对象保存了可以嵌入到一个信令消息中的数据
typedef struct _LinphoneErrorInfo LinphoneErrorInfo
对象代表关于一个信令错误或状态的完整细节.由linphone API返回的所有LinphoneErrorInfo对象 都是只读的和反式字母系数.为了安全他们必须在获得之后立即使用.任何其他函数调用libphone都可能改变他们的内容或者无效的指针.
typedef enum _LinphoneReason LinphoneReason
枚举描述失败原因
typedef enum _LinphoneXmlRpcArgType LinphoneXmlRpcArgType
枚举为LinphoneXmlRpcRequest描述参数类型
typedef struct _LinphoneXmlRpcRequest LinphoneXmlRpcRequest
LinphoneXmlRpcRequest对象代表一个发送的XML-RPC请求
typedef struct _LinphoneXmlRpcRequestCbs LinphoneXmlRpcRequestCbs
一个操作回调的对象,用于处理LinphoneXmlRpcRequest操作
typedef void(* LinphoneXmlRpcRequestCbsResponseCb)(LinphoneXmlRpcRequest* request)
回调用于通知XML-RPC请求的响应
参数
[in] request LinphoneXmlRpcRequest对象
typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession
LinphoneXmlRpcSession对象用于发送XML-RPC请求和处理他们的响应
typedef enum _LinphoneXmlRpcStatus LinphoneXmlRpcStatus
枚举描述LinphoneXmlRpcRequest的状态
typedef struct _LpConfig LpConfig
LpConfig对象是用来操纵一个配置文件.
配置文件的格式是.ini格式
节被定义在[]中
每个节包含一系列 key=value(键值对)
例如:
1 [sound]
2 echocanceler=1
3 playback_dev=ALSA: Default device
4
5 [video]
6 enabled=1
枚举类型文档
enum _LinphoneAccountCreatorStatus
枚举描述LinphoneAccountCreator操作的状态
enum _LinphoneReason
枚举描述各种故障原因或某些事件的上下文信息
另参见
linphone_call_get_reason()
linphone_proxy_config_get_error()
linphone_error_info_get_reason()
枚举成员
LinphoneReasonNoResponse 没有来着远程的响应
LinphoneReasonForbidden 身份验证失败由于坏的凭证或资源被禁止
LinphoneReasonDeclined 电话被拒绝
LinphoneReasonNotFound 未找到电话的目的地
LinphoneReasonNotAnswered 电话没有及时回答(请求超时)
LinphoneReasonBusy 电话线路繁忙
LinphoneReasonUnsupportedContent 不支持的内容
LinphoneReasonIOError 传输错误:连接失败,断开连接等等...
LinphoneReasonDoNotDisturb 请勿打扰原因
LinphoneReasonUnauthorized 操作是未经授权的,因为丢失凭据
LinphoneReasonNotAcceptable 这类操作类似于电话更新被对等方拒绝
LinphoneReasonNoMatch 操作无法执行的服务器或远程客户端,因为它没有任何上下文
LinphoneReasonMovedPermanently 资源被永久地移动
LinphoneReasonGone 资源已不复存在
LinphoneReasonTemporarilyUnavai 临时失效
LinphoneReasonAddressIncomplete 地址不完整
LinphoneReasonNotImplemented 没有实现
LinphoneReasonServerTimeout 服务器超时
LinphoneReasonUnknown 不明原因
enum _LinphoneXmlRpcArgType
枚举为LinphoneXmlRpcRequest描述参数类型
enum _LinphoneXmlRpcStatus
枚举描述LinphoneXmlRpcRequest对象的状态
函数文档
LinphoneAccountCreatorCbsCreateAccountCb linphone_account_creator_cbs_get_create_account(const LinphoneAccountCreatorCbs* cbs)
获取创建帐号的回调
参数
[in] cbs LinphoneAccountCreatorCbs对象
返回
当前创建帐号的回调
LinphoneAccountCreatorCbsExistenceTestdCb linphone_account_creator_cbs_get_existence_tested(const LinphoneAccountCreator* cbs)
获取与LinphoneAccountCreatorCbs对象相关的用户指针
参数
[in] cbs LinphoneAccountCreatorCbs对象
返回
与LinphoneAccountCreatorCbs对象相关的用户指针
LinphoneAccountCreatorCbsValidationTestedCb linphone_account_creator_cbs_get_validation_tested(const LinphoneAccountCreatorCbs* cbs)
获取验证测试回调
参数
[in]cbs LinphoneAccountCreatorCbs对象
返回
当前验证测试回调
LinphoneAccountCreatorCbs* linphone_account_creator_cbs_ref(LinphoneAccountCreatorCbs* cbs)
获取LinphoneAccountCreatorCbs对象的引用
参数
[in] cbs LinphoneAccountCreatorCbs对象
返回
一个新的LinphoneAccountCreatorCbs对象
void linphone_account_creator_cbs_set_create_account(LinphoneAccountCreatorCbs* cbs, LinphoneAccountCreatorCbsCreateAccountCb cb)
设置创建帐号回调
参数
[in] cbs LinphoneAccountCreatorCbs对象
[in] cb 创建帐号回调函数
void linphone_account_creator_cbs_set_existence_tested(LinphoneAccountCreatorCb* cbs, LinphoneAccountCreatorCbsExistenceTestedCb cb)
设置存在测试的回调
参数
[in] cbs LinphoneAccountCreatorCbs对象
[in] cb 用于存在测试的回调
void linphone_account_creator_cbs_set_user_data(LinphoneAccountCreatorCbs* cbs, void* ud)
分配一个指向LinphoneAccountCreatorCbs对象的用户指针
参数
[in] cbs LinphoneAccountCreatorCbs对象
[in] ud 与LinphoneAccountCreatorCbs对象相关的用户指针
void linphone_account_creator_cbs_set_validation_tested(LinphoneAccountCreatorCbs* cbs, LinphoneAccountCreatorCbsValidationTestedCb cb)
设置验证测试的回调
参数
[in] cbs LinphoneAccountCreatorCbs对象
[in] cb 验证测试回调
void linphone_account_creator_cbs_unref(LinphoneAccountCreatorCbs* cbs)
释放一个LinphoneAccountCreatorCbs对象的引用
参数
[in] cbs LinphoneAccountCreatorCbs对象
LinphoneProxyConfig* linphone_account_creator_configure(const LinphoneAccountCreator* creator)
配置一个帐号(为其创建一个代理配置和身份验证信息)
参数
[in] creator LinphoneAccountCreator对象
返回
如果成功返回LinphoneProxyConfig对象,否则返回NULL
LinphoneAccountCreatorStatus linphone_account_creator_create_account(LinphoneAccountCreator* creator)
发送一个XML-RPC请求来创建一个Linphone帐号
参数
[in] creator LinphoneAccountCreator对象
返回
如果请求已经被发送,返回LinphoneAccountCreatorOk,否则返回LinphoneAccountCreatorReqFailed
void linphone_account_creator_enable_newsletter_subscription(LinphoneAccountCreator* creator, bool_t subscribe)
启用通讯订阅
参数
[in] creator LinphoneAccountCreator对象
[in] subscribe 一个布尔值告诉是否订阅简报
LinphoneAccountCreatorCbs* linphone_account_creator_get_callbacks(const LinphoneAccountCreator* creator)
获取与LinphoneAccountCreator对象相关的LinphoneAccountCreatorCbs
参数
[in] creator LinphoneAccountCreator对象
返回
与LinphoneAccountCreator对象相关的LinphoneAccountCreatorCbs对象
const char* linphone_account_creator_get_display_name(const LinphoneAccountCreator* creator)
获取显示名称(display name)
参数
[in] creator LinphoneAccountCreator对象
返回
LinphoneAccountCreator对象的显示名称
const char* linphone_account_creator_get_domain(const LinphoneAccountCreator* creator)
获取域名
参数
[in] creator LinphoneAccountCreator 对象
返回
LinphoneAccountCreator对象的domain
const char* linphone_account_creator_get_email(const LinphoneAccountCreator* creator)
获取email
参数
[in] creator LinphoneAccountCreator对象
返回
LinphoneAccountCreator对象的email
const char* linphone_account_creator_get_password(const LinphoneAccountCreator* creator)
获取password
参数
[in] creator LinphoneAccountCreator对象
返回
LinphoneAccountCreator对象的password
const char* linphone_account_creator_get_route(const LinphoneAccountCreator* creator)
获取route
参数
[in] creator LinphoneAccountCreator对象
返回
LinphoneAccountCreator对象的route成员
LinphoneTransportType linphone_account_creator_get_transport(const LinphoneAccountCreator* creator)
获取transport
参数
[in] creator LinphoneAccountCreator对象
返回
LinphoneAccountCreator对象的transport成员
void* linphone_account_creator_get_user_data(const LinphoneAccountCreator* creator)
获取与LinphoneAccountCreator对象相关联的用户指针
参数
[in] creator LinphoneAccountCreator对象
返回
与LinphoneAccountCreator对象相关联的用户指针
const char* linphone_account_creator_get_username(const LinphoneAccountCreator* creator)
获取username
参数
[in] creator LinphoneAccountCreator对象
返回
LinphoneAccountCreator对象的username成员
LinphoneAccountCreator* linphone_account_creator_new(LinphoneCore* core, const char* xmlrpc_url)
增加一个LinphoneAccountCreator对象
参数
[in] core LinphoneCore 用于 XML-RPC通信
[in] xmlrpc_url XML-RPC服务器的url.必须非空
返回
新的LinphoneAccountCreator对象
bool_t linphone_account_creator_newsletter_subscription_enabled(const LinphoneAccountCreator* creator)
判断是否订阅简报
参数
[in] creator LinphoneAccountCreator对象
返回
一个布尔值告诉释放订阅简报
LinphoneAccountCreator* linphone_account_creator_ref(LinphoneAccountCreator* creator)
获取LinphoneAccountCreator对象的引用
参数
[in] creator LinphoneAccountCreator对象
返回
一样的LinphoneAccountCreator对象
LinphoneAccountCreatorStatus linphone_account_creator_set_display_name(LinphoneAccountCreator* creator, const char* display_name)
设置diaplay_name
参数
[in] creator LinphoneAccountCreator对象
[in] display_name 显示的名字
返回
如果一切都设置好返回LinphoneAccountCreatorOk,否则返回一个指定错误
LinphoneAccountCreatorStatus linphone_account_creator_set_domain(LinphoneAccountCreator* creator, const char* domain)
设置domain
参数
[in] creator LinphoneAccountCreator对象
[in] domain 设置的domain
返回
如果一切都设置好返回LinphoneAccountCreatorOk,否则返回一个指定错误
LinphoneAccountCreatorStatus linphone_account_creator_set_email(LinphoneAccountCreator* creator, const char* email)
设置email
参数
[in] creator LinphoneAccountCreator对象
[in] email 设置的email
返回
如果一切都设置好返回LinphoneAccountCreatorOk,否则返回一个指定错误
LinphoneAccountCreatorStatus linphone_account_creator_set_transport(LinphoneAccountCreator* creator, LinphoneTransportType transport)
设置transport
参数
[in] creator LinphoneAccountCreator对象
[in] transport 设置的transport
返回
如果一切都设置好返回LinphoneAccountCreatorOk,如果给定的transport不被linphonecore支持,返回指定错误.
void linphone_account_creator_set_user_data(LinphoneAccountCreator* creator, void* ud)
设置一个用户指针到LinphoneAccountCreator对象
参数
[in] creator LinphoneAccountCreator对象
[in] ud 与LinphoneAccountCreator对象相关联的用户指针
LinphoneAccountCreatorStatus linphone_account_creator_set_username(LinphoneAccountCreator* creator, const char* username)
设置username
参数
[in] creator LinphoneAccountCreator对象
[in] username 用于设置的username
返回
如果一切都设置好返回LinphoneAccountCreatorOk,否则返回指定错误
LinphoneAccoutCreatorStatus linphone_account_creator_test_existence(LinphoneAccountCreator* creator)
发送一个XML-RPC请求来测试Linphone 帐号的存在性
参数
[in] creator LinphoneAccountCreator对象
返回
如果请求已经被发送,返回LinphoneAccountCreatorOk.否则返回LinphoneAccountCreatorReqFailed
LinphoneAccountCreatorStatus linphone_account_creator_test_validation(LinphoneAccountCreator* creator)
发送一个XML-RPC请求来测试Linphone帐号的有效性
参数
[in] creator LinphoneAccountCreator对象
返回
如果请求已经被发送,返回LinphoneAccountCreatorOk.否则返回LinphoneAccountCreatorReqFailed
void linphone_account_creator_unref(LinphoneAccountCreator* creator)
释放LinphoneAccountCreator对象的引用
参数
[in] creator LinphoneAccountCreator对象
const uint8_t* linphone_buffer_get_content(const LinphoneBuffer* buffer)
获取数据缓冲区的内容
参数
[in] buffer LinphoneBuffer对象
返回
数据缓存区的内容
size_t linphone_buffer_get_size(const LinphoneBuffer* buffer)
获取数据缓存区的内容的大小
参数
[in] buffer LinphoneBuffer对象
返回
数据缓存区内容的大小
void *linphone_buffer_get_string_content(const LinphoneBuffer* buffer)
获取数据缓冲区的内容字符串形式
参数
[in] buffer LinphoneBuffer对象
返回
数据缓冲区的字符串内容
void* linphone_buffer_get_user_data(const LinphoneBuffer* buffer)
获取与buffer相关的用户指针
参数
[in] buffer LinphoneBuffer对象
返回
与buffer相关的用户指针
bool_t linphone_buffer_is_empty(const LinphoneBuffer* buffer)
判断LinphoneBuffer是否为空
参数
[in] buffer LinphoneBuffer对象
返回
一个布尔值告诉LinphoneBuffer是否为空
LinphoneBuffer* linphone_buffer_new(void )
创建一个新的空的LinphoneBuffer对象
返回
一个新的LinphoneBuffer对象
LinphoneBuffer* linphone_buffer_new_from_data(const uint8_t* data, size_t size)
从现有的数据中 创建一个新的LinphoneBuffer对象
参数
[in] data 保存在LinphoneBuffer中的初始化数据
[in] size 初始化数据的大小
返回
一个新的LinphoneBuffer对象
LinphoneBuffer* linphone_buffer_new_from_string(const char* data)
依据一个字符串创建一个新的LinphoneBuffer对象
参数
[in] data LinphoneBuffer的初始化字符串内容
返回
一个新的LinphoneBuffer对象
LinphoneBuffer* linphone_buffer_ref(LinphoneBuffer* buffer)
获得缓冲区的引用
参数
[in] buffer LinphoneBuffer对象
返回
一样的LinphoneBuffer对象
void linphone_buffer_set_content(LinphoneBuffer* buffer, const uint8_t content, size_t size)
设置数据缓冲区的内容
参数
[in] buffer LinphoneBuffer对象
[in] content 数据缓冲区的内容
[in] size 数据缓冲区的内容大小
void linphone_buffer_set_size(LinphoneBuffer* buffer, size_t size)
设置数据缓冲区内容的大小
参数
[in] buffer LinphoneBuffer对象
[in] size 数据缓冲区内容的大小
void linphone_buffer_set_user_data(LinphoneBuffer* buffer, void* ud)
分配buffer的用户指针
参数
[in] buffer LinphoneBuffer对象
[in] ud 与buffer相关联的用户指针
void linphone_buffer_unref(LinphoneBuffer* buffer)
释放buffer的引用
const char* linphone_configuring_state_to_string(LinphoneConfiguringState cs)
将一个_LinphoneConfiguringState枚举转换为一个字符串
LinphoneContent* linphone_content_find_part_by_header(const LinphnoneContent* content, const char* header_name, const char* header_value)
从一个复合内容中查找一部分,查找一个指定值的头
参数
[in] content LinphoneContent对象
[in] header_name 查找的头的名字
[in] header_value 查找的头的值
返回
如果找到返回LinphoneContent对象目的部分.否则返回NULL
void* linphone_content_get_buffer(const LinphoneContent* content)
获取content的数据缓冲区, 通常是一个字符串
参数
[in] content LinphoneContent对象
返回
content数据缓冲区
const char* linphone_content_get_custom_header(const LinphoneContent* content, const char* header_name)
获取一个自定义头的值
参数
[in] content LinphoneContent对象
[in] header_name 头字段的名称
返回
如果找到返回头的值,否则返回NULL
const char* linphone_content_get_encoding(const LinphoneContent* content)
获取数据缓冲区的编码,例如"gzip"
参数
[in] content LinphoneContent对象
返回
数据缓冲区的编码
const char* linphone_content_get_name(const LinphoneContent* content)
获取与RSC文件传输消息相关的名字.它被用来存储从服务器下载的文件的原始文件名
参数
[in] content LinphoneContent对象
返回
内容的名称
LinphoneContent* linphone_content_get_part(const LinphoneContent* content, int idx)
根据它的索引号,获取复合的content中的一部分
参数
[in] content LinphoneContent对象
[in] idx 想获取部分的索引号
返回
如果找到返回包含该部分的LinphoneContent对象,否则返回NULL
size_t linphone_content_get_size(const LinphoneContent* content)
获取内容的数据缓冲区的大小,不包括Null字符,尽管null字符总是被设置为了方便
参数
[in] content LinphoneContent对象
返回
内容的数据缓冲区的大小
const char* linphone_content_get_string_buffer(const LinphoneContent* content)
获取数据缓冲区的字符内容
参数
[in] content LinphoneContent对象
返回
数据缓冲区的字符串内容
const char* linphone_content_get_subtype(const LinphoneContent* content)
获取内容数据的mime子类型
参数
[in] content LinphoneContent对象
返回
内容数据的mime子类型,例如“html”
const char* linphone_content_get_type(const LinphoneContent* content)
获取内容数据的mime类型
参数
[in] content LinphoneContent对象
返回
内容数据的mime类型,例如“application”.
void* linphone_content_get_user_data(const LinphoneContent* content)
获取与content相关联的用户指针
参数
[in] content LinphoneContent对象
返回
与content相关联的用户指针
bool_t linphone_content_is_multipart(const LinphoneContent* content)
判断一个content是否为复合的content
参数
[in] content LinphoneContent对象
返回
一个布尔值判断content是否是复合的
LinphoneContent* linphone_content_ref(LinphoneContent* content)
获得content的引用
参数
[in] content LinphoneContent对象
返回
一样的LinphoneContent对象
void linphone_content_set_buffer(LinphoneContent* content, const void* buffer, size_t size)
设置content数据缓冲区,常常为一个字符串
参数
[in] content LinphoneContent对象
[in] buffer content数据缓冲区
[in] size content数据缓冲区的大小
void linphone_content_set_encoding(LinphoneContent* content, const cahr* encoding)
设置数据缓冲区的编码,例如“gzip”
参数
[in] content LinphoneContent对象
[in] encoding 数据缓冲区的编码
void linphone_content_set_name(LinphoneContent* content, const char* name)
设置与一个RCS文件传输消息相关的名字.它被用来存储从服务器下载文件的原始文件名
参数
[in] content LinphoneContent对象
[in] name content的名字
void linphone_content_set_size(LinphoneContent* content, size_t size)
设置content数据大小,不包括null字符尽管null字符总是被设置为了方便
参数
[in] content LinphoneContent对象
[in] size content数据缓冲区的大小
void linphone_content_set_string_buffer(LinphoneContent* content, const char* buffer)
设置字符串内容数据缓冲区
参数
[in] content LinphoneContent对象
[in] buffer 字符串内容数据缓冲区
void linphone_content_set_subtype(LinphoneContent* content, const char* subtype)
设置content数据的mime子类型
参数
[in] content LinphoneContent对象
[in] subtype content数据的mime子类型,例如“html”
void linphone_content_set_type(LinphoneContent* content, const char* type)
设置content数据的mime类型
参数
[in] content LinphoneContent对象
[in] type content数据的mime类型,例如“application”
void linphone_content_set_user_data(LinphoneContent* content, void* ud)
分配用户数据到content
参数
[in] content LinphoneContent对象
[in] ud 与content相关联的用户指针
void linphone_content_unref(LinphoneContent* content)
释放content的引用
参数
[in] content LinphoneContent对象
LinphoneContent* linphone_core_craete_content(LinphoneCore* lc)
用Linphone核心的默认值创建一个content对象
参数
[in] lc LinphoneContent对象
返回
带默认值的LinphoneContent对象
LpConfig* linphone_core_create_lp_config(LinphoneCore* lc, const char* filename)
创建一个LpConfig对象来着一个用户的配置文件
参数
[in] lc LinphoneContent对象
[in] filename 配置文件的文件名,被用来实例化LpConfig对象
LpConfig* linphone_core_get_config(LinphoneCore* lc)
返回LpConfig对象用于管理存储(配置)文件.
应用程序可以用LpConfig对象来插入它自己的私有的节和键值对在配置文件中.
const char* linphone_core_get_file_transfer_server(LinphoneCore* core)
获取全局设置http文件传输服务器,用于content type: application/vnd.gsma.rcs-ft-http+xml.
参数
[in] core LinphoneCore对象,从中获取server_url
返回
文件服务器的URL 类型 https://file.linphone.org/upload.php
int linphone_core_play_local(LinphoneCore* lc, const char* audiofile)
播放一个音频文件给本地用户.在一次通话中,这个函数在任何时间都有效,在通话中,或者没有电话在运行时. 它不要求底层音频系统支持多重播放流
参数
lc LinphoneCore对象
audiofile 音频文件路径 格式:wav PCM 16位
void linphone_core_set_call_error_tone(LinphoneCore* lc, LinphoneReason reason, const char* audiofile)
分配音频文件用于本地播放在通话失败的时候,对于指定的原因.
参数
lc LinphoneCore对象
reason LinphoneReason代表失败错误代码
audiofile 当这个通话失败,播放这个wav文件
void linphone_core_set_file_transfer_server(LinphoneCore* core, const char* server_url)
全局地设置一个http文件传输服务器 用于content typed:application/vnd.gsma.rcs-ft-http+xml.这个值也可以用linphone_proxy_config_set_file_transfer_server为专用帐号设置
参数
[in] core LinphoneCore对象
[in] server_url 文件服务器的URL 类似 https://file.linphone.org/upload.php
void linphone_core_set_user_agent(LinphoneCore* lc, const char* name, const char* ver)
设置用户代理字符串用于SIP消息中
int linphone_core_take_preview_snapshot(LinphoneCore* lc, const char* file)
从当前摄像头获取一张图片并保存为.jpeg文件.注意快照是异步的,应用程序不应该假设当函数返回时创建的文件.
参数
lc LinphoneCore对象
file .jpeg保存的路径
返回
如果成功返回0,否则返回-1(通常如果不支持jpeg格式)
int linphone_dial_plan_lookup_ccc_from_e164(const char* e164)
从e164数字中获取国家电话编码,例如:+33952650121会返回33
参数
e164手机号码
返回
电话国家编码 如果没有找到返回-1
int linphone_dial_plan_lookup_ccc_from_iso(const char* iso)
函数从ISO3166-1 alpha-2 获取通话国家代码,例如: FR 返回 33
参数
iso 国家代码 alpha2
返回
电话国家代码,如果没有找到返回-1
const char* linphone_error_info_get_details(const LinphoneErrorInfo* ei)
提供了关于失败的额外消息.用SIP协议,“Reason”和“Warning”头被返回
参数
ei 错误信息
返回
关于失败的更多细节
const char* linphone_error_info_get_phrase(const LinphoneErrorInfo* ei)
从错误信息中获取文本短语.这个文本是由SIP协议对等方提供的
参数
ei 错误消息
返回
错误短语
int linphone_error_info_get_protocol_code(const LinphoneErrorInfo* ei)
从底层协议中获取状态代码 (例如 SIP状态代码)
参数
ei 错误信息
返回
状态代码
LinphoneReason linphone_error_info_get_reason(const LinphoneErrorInfo* ei)
从错误信息中获取原因代码
参数
ei 错误信息
返回
一个LinphoneReason对象
constchar* linphone_reason_to_string(LinphoneReason err)
将一个LinphoneReason枚举转换为一个字符串
LinphoneTransportType linphone_transport_parse(const char* transport)
将一个小写的字符串转换为LinphoneTransportType枚举
返回
与输入匹配的传输类型,如果没有找到返回LinphoneTransportUdp
const char* linphone_transport_to_string(LinphoneTransportType transport)
将一个LinphoneTransportType枚举转换为一个小写字符串
void linphone_xml_rpc_request_add_int_arg(LinphoneXmlRpcRequest* request, int value)
添加一个整型参数到一个XML-RPC请求
参数
[in] request LinphoneXmlRpcRequest对象
[in] value 添加参数的整数值
void linphone_xml_rpc_request_add_string_arg(LinphoneXmlRpcRequest* request, const char* value)
添加一个字符参数到一个XML-RPC请求
参数
[in] request LinphoneXmlRpcRequest对象
[in] value 添加参数的字符串
LinphoneXmlRpcRequestCbsResponseCb linphone_xml_rpc_request_cbs_get_response(const LinphoneXmlRpcRequestCbs* cbs)
获取响应回调
参数
[in] cbs LinphoneXmlRpcRequestCbs 对象
返回
当前响应回调
void* linphone_xml_rpc_request_cbs_get_user_data(const LinphoneXmlRpcRequestbs* cbs)
获取与LinphoneXmlRpcRequestCbs对象相关的用户指针
参数
[in] cbs LinphoneXmlRpcRequestCbs对象
返回
与LinphoneXmlRpcRequestCbs对象相关的用户指针
LinphoneXmlRpcRequestCbs* linphone_xml_rpc_request_cbs_ref(LinphoneXmlRpcRequestCbs* cbs)
分配LinphoneXmlRpcRequestCbs对象的引用
参数
[in] cbs LinphoneXmlRpcRequestCbs对象
返回
一样的LinphoneXmlRpcRequestCbs对象
void linphone_xml_rpc_request_cbs_set_response(LinphoneXmlRpcRequestCbs* cbs, LinphoneXmlRpcRequestCbsResponseCb cb)
设置响应回调
参数
[in] cbs LinphoneXmlRpcRequestCbs对象
[in] cb 使用的响应回调
void linphone_xml_rpc_request_cbs_set_user_data(LinphoneXmlRpcRequestCb* cbs, void* ud)
分配一个LinphoneXmlRpcRequestCbs对象的用户指针
参数
[in] cbs LinphoneXmlRpcRequestCbs对象
[in] ud 与LinphoneXmlRpcRequestCbs对象相关联的用户指针
void linphone_xml_rpc_request_cbs_unref(LinphoneXmlRpcRequestCbs* cbs )
释放一个LinphoneXmlRpcRequestCbs对象的引用
参数
[in] cbs LinphoneXmlRpcRequestCbs对象
LinphoneXmlRpcRequestCbs* linphone_xml_rpc_request_get_callbacks(const LinphoneXmlRpcRequest* request)
获取与LinphoneXmlRpcRequest相关联的LinphoneXmlRpcRequestCbs对象
参数
[in] request LinphoneXmlRpcRequest对象
返回
与LinphoneXmlRpcRequest对象相关联的LinphoneXmlRpcRequestCbs对象
const char* linphone_xml_rpc_request_get_content(const LinphoneXmlRpcRequest* request)
获取XML-RPC请求的内容
参数
[in] request LinphoneXmlRpcRequest对象
返回
XML-RPC请求内容的字符串形式
int linphone_xml_rpc_request_get_int_response(const LinphoneXmlRpcRequest* request)
获取由linphone_xml_rpc_session_send_request()发送的XML-RPC请求的响应,
并返回一个整数的回应.
参数
[in] request LinphoneXmlRpcRequest对象
返回
整数代表XML-RPC请求
LinphoneXmlRpcStatus linphone_xml_rpc_request_get_status(const LinphoneXmlRpcRequest* request)
获取XML-RPC请求的状态
参数
[in] request LinphoneXmlRpcRequest对象
返回
XML-RPC请求的状态
const char* linphone_xml_rpc_request_get_string_response(const LinphoneXmlRpcRequest* request)
获取由linphone_xml_rpc_session_send_request()发送的XML-RPC请求的响应,并返回一个字符串的回应.
参数
[in] request LinphoneXmlRpcRequest对象
返回
XML-RPC请求的字符串回应
void* linphone_xml_rpc_request_get_user_data(const LinphoneXmlRpcRequest* request)
获取与XML-RPC请求相关联的用户指针
参数
[in] request LinphoneXmlRpcRequest对象
返回
与XML-RPC请求相关的用户指针
LinphoneXmlRpcRequest* linphone_xml_rpc_request_new(const char* method, LinphoneXmlRpcArgType return_type)
获取一个新的LinphoneXmlRpcRequest对象
参数
[in] method 调用的XML-RPC方法
[in] return_type 预先的XML-RPC响应类型
返回
一个新的LinphoneXmlRpcRequest对象
LinphoneXmlRpcRequest* linphone_xml_rpc_request_new_with_args(const char* methd, LinphoneXmlRpcArgType return_type, ...)
创建一个新的LinphoneXmlRpcRequest对象 赋参数给method
参数
[in] method 调用的XML-RPC方法
[in] return_type 期望的XML-RPC响应类型
返回
一个新的LinphoneXmlRpcRequest对象
LinphoneXmlRpcRequest* linphone_xml_rpc_request_ref(LinphoneXmlRpcRequest* request)
分配一个XML-RPC请求的引用
参数
[in] request LinphoneXmlRpcRequest对象
返回
一样的LinphoneXmlRpcRequest对象
void linphone_xml_rpc_request_set_user_data(LinphoneXmlRpcRequest* request, void* ud)
分配一个用户指针给XML-RPC请求
参数
[in] request LinphoneXmlRpcRequest对象
[in] ud 与XML-RPC请求相关联的用户指针
void linphone_xml_rpc_request_unref(LinphoneXmlRpcRequest* request)
释放XML-RPC请求的引用
参数
[in] request LinphoneXmlRpcRequest对象
void* linphone_xml_rpc_session_get_user_data(const LinphoneXmlRpcSession* session)
获取与XNL-RPC会话相关联的用户指针
参数
[in] session LinphoneXmlRpcSession对象
返回
与XML-RPC会话相关联的用户指针
LinphoneXmlRpcSession* linphone_xml_rpc_session_new(LinphoneCore* core, const char* url)
创建一个新的LinphoneXmlRpcSession对象
参数
[in] core 用于发送XML-RPC请求的LinphoneCore对象
[in] url XML-RPC服务器的URL地址,用于发送XML-RPC请求
返回
一个新的LinphoneXmlRpcSession对象
LinphoneXmlRpcSesssion* linphone_xml_rpc_session_ref(LinphoneXmlRpcSession* session)
分配一个引用指向XML-RPC会话
参数
[in] session LinphoneXmlRpcSession对象
返回
一样的LinphoneXmlRpcSession对象
void linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession* session, LinphoneXmlRpcRequest* request)
发送一个XML-RPC请求
参数
[in] session LinphoneXmlRpcSession对象
[in] request 被发送的LinphoneXmlRpcReques对象
void linphone_xml_rpc_session_set_user_data(LinphoneXmlRpcSession* session, void* ud)
分配一个用户指针给XML-RPC会话
参数
[in] session LinphoneXmlRpcSession对象
[in] ud 与XML-RPC会话相关联的用户指针
void linphone_xml_rpc_session_unref(LinphoneXmlRpcSession* session)
释放XML-RPC会话的引用
参数
[in] session LinphoneXmlRpcSession对象
void lp_config_clean_enrty(LpConfig* lpconfig, const char* section, const char* key)
在一个节上删除指定键值对
参数
[in] lpconfig LpConfig对象
[in] section
[in] key
void lp_config_clean_section(LpConfig* lpconfig, const char* section)
移除在一个节上的所有键值对,然后删除这个节
char* lp_config_dump(const LpConfig* lpconfig)
转储LpConfig以INI文件到缓冲区
参数
[in] lpconfig LpConfig对象
返回
包含配置转储的缓冲区
char* lp_config_dump_as_xml(const LpConfig* lpconfig)
转储LpConfig以XML文件到缓冲区
参数
[in] lpconfig LpConfig对象
返回
包含配置转储的缓冲区
void lp_config_for_each_entry(const LpConfig* lpconfig, const char* section, void(*)(const char* entry, void *ctx) callback, void* ctx)
为输入项调用一个函数,在一个节配置中
void lp_config_for_each_section(const LpConfig* lpconfig, void(*)(const char* section, void* ctx) callback, void* ctx)
为每个section项调用一个函数,在配置中
float lp_config_get_default_float(const LpConfig* lpconfig, const char* section, const char* key, float default_value)
检索一个默认的配置项以浮动类型,给定它的section,key,和默认值
如果配置项没有找到,返回默认的浮点值.
int lp_config_get_default_int(const LpConfig* lpconfih, const char* section, const char* key, int default_value)
检索一个默认的配置项以整型类型,给定它的section,key,和默认值
如果配置项没有找到,返回默认的整型.
int64_t lp_config_get_default_int64(const LpConfig* lpconfig, const char* section, const char* key, int64_t default_value)
检索一个默认的配置项以64位整型类型,给定它的section,key,和默认值
如果配置项没有找到,返回默认的整型.
const char* lp_config_get_default_string(const LpConfig* lpconfig, const char* section, const char* key, const char* default_value)
检索一个默认的配置项以字符串类型,给定它的section,key,和默认值
如果配置项没有找到,返回默认值的字符串.
float lp_config_get_float(const LpConfig* lpconfig, const char* section, const char* key, float default_value)
获取配置项作为一个float类型,指定它的节,键和默认值.
如果配置项没有找到,返回默认的浮点值
int lp_config_get_int(const LpConfig* lpconfig, const char* section, const char* key, int default_value)
获取配置项作为一个int类型,指定它的节,键和默认值
如果没有找到配置项,返回默认的整型值
int64_t lp_config_get_int64(const LpConfig* lpconfig, const char* section, const char* key, int64_t default_value)
获取配置项作为一个64位int类型,指定它的节,键和默认值.
如果没有找到配置项,返回默认的整数
bool_t lp_config_get_overwrite_flag_for_entry(const LpConfig* lpconfig, const char* section, const char* key)
为配置项获取覆盖标记
bool_t lp_config_get_ovetwrite_flag_for_section(const LpConfig* lpconfig, const char* section)
为配置节获取覆盖标记
bool_t lp_config_get_range(const LpConfig* lpconfig, const char* section, const char* key, int* min, int* max, int default_min, int default_max)
获取配置项以一个范围,指定它的节,键和默认值
返回
如果成功解析为一个范围值返回TRUE,否则返回FALSE.如果返回FALSE,min和max分别被default_min和 default_max值补充
bool_t lp_config_get_section_param_string(const LpConfig* lpconfig, const char* section, const char* key, const char* default_value)
获取一个节参数项作为字符串,指定它的节和键
如果配置项没有找到返回默认值字符串
bool_t lp_config_get_skip_flag_for_section(const LpConfig* lpconfig, const char* section)
为配置节获取跳跃标记
const char* lp_config_get_string(const LpConfig* lpconfig, const char* section, const char* key, const char* default_string)
获取一个配置项作为字符串,指定它的节,键和默认值
如果没有找到配置项,返回默认值的字符串形式
bctbx_list_t* lp_config_get_string_list(const LpConfig* lpconfig, const char* section, const char* key, bctbx_list_t default_list)
获取一个配置项作为一个字符串列表,指定它的节,键和默认值
如果配置项没有找到,返回默认值
参数
[in] lpconfig LpConfig对象
[in] section 从该节中获取配置项
[in] key 要获取配置项的名字
[in] default_list const char* 对象列表
返回
一个const char* 对象列表
int lp_config_has_entry(const LpConfig* lpconfig, const char* section, const char* key)
如果一个指定节指定键存在于配置中返回1
参数
[in] lpconfig LpConfig对象
[in] section
[in] key
int lp_config_has_section(const LpConfig* lpconfig, const char* section)
如果指定节存在于配置中返回1
void lp_config_load_dict_to_section(LpConfig* lpconfig, const char* section, const LinphoneDictionary* dict)
加载一个字典到配置的一个节中.如果该节不存在会被创建.覆盖现有的键,创建不存在的键.
LpConfig* lp_config_new(const char* filename)
实例化一个LpConfig对象从一个用户配置文件中.这个函数的调用者拥有一个引用. 当这个对象不再需要时,必须调用lp_config_unref()
参数
fileame 配置文件的文件名,用来实例化LpConfig对象
另参见
lp_config_new_with_factory
LpConfig* lp_config_new_from_buffer(const char* buffer)
实例化一个LpConfig对象从一个用户提供的buffer中.这个函数的调用者拥有一个引用.当这个对象不再需要时,必须调用lp_config_unref()
参数
buffer 从buffer中获取lpconfig.我们预计buffer以NULL字符结尾
另参见
lp_config_new_with_factory
lp_config_new
LpConfig* lp_config_new_with_factory(const char* config_filename, const char* factory_config_fileame)
实例化一个LpConfig对象从一个用户配置文件和一个工厂配置文件中.这个函数的调用这拥有一个引用.当这个对象不再需要时,必须调用lp_config_unref().
参数
config_filename 用户配置文件
factory_config_filename 工厂配置文件
另参见
lp_config_new
先读取用户配置文件来创建LpConfig,然后读取工厂配置文件.因此用户配置文件定义的配置参数会被工厂配置文件定义的配置参数覆盖.
int lp_config_read_file(LpConfig* lpconfig)
增加引用计数
LinphoneDictionary* lp_config_section_to_dict(const LpConfig* lpconfig, const char* section)
将一个配置节转换成一个字典
返回
一个LinphoneDictionary对象包含一个节的所有键,如果这个节不存在返回NULL.
void lp_config_set_float(LpConfig* lpconfig, const char* section, const char* key, float value)
设置一个浮点配置项
void lp_config_set_int(LpConfig* lpconfig, const char* section, const char* key, int value)
设置一个整型配置项
void lp_config_set_int64(LpConfig* lpconfig, const char* section, const char* key, int value)
设置一个整型配置项,但是将它存储为十六进制
void lp_config_set_overwrite_flag_for_entry(LpConfig* lpconfig, const char* section, const char* key, bool_t value)
为一个配置项设置覆盖标记(当以xml转储配置时使用)
void lp_config_set_overwrite_flag_for_section(LpConfig* lpconfig, const char* section, bool_t value )
为一个配置节设置覆盖标记(当以xml转储配置时使用)
void lp_config_set_range(LpConfig* lpconfig, const char* section, const char* key, int min_value, int max_value)
设置一个范围的配置项
void lp_config_set_skip_flag_for_entry(LpConfig* lpconfig, const char* section, const char* key, bool_t value)
为配置项设置跳跃标记(当以xml转储配置时使用)
void lp_config_set_skip_flag_for_section(LpConfig* lpconfig, const char* section, bool_t value)
为配置节设置跳跃标记(当以xml转储配置时使用)
void lp_config_set_string_list(LpConfig* lpconfig, const char* section, const char* key, const bctbx_list_t* value)
设置一个字符串列表配置项
参数
[in] lpconfig 一个LpConfig对象
[in] section 放置配置项的节的名称
[in] key 设置配置项的名字
[in] value 一个const char* 对象的列表.用于设置的值
int lp_config_sync(LpConfig* lpconfig)
写配置文件到磁盘
void lp_config_unref(LpConfig* lpconfig)
减少引用计数,最终计数为0时释放对象