linphone语音版移植
Linphone探索:1.Linphone官方源码探究

Linphone探索:1.Linphone官⽅源码探究项⽬地址:1 . org.linphoneAboutFragment.java:关于界⾯⽚段。
AccountPreferencesFragment:⽤户参数界⾯⽚段。
BandwidthManager:带宽管理器。
更新当前profile的带宽设置,当带宽不⾜以⽀持视频时,设置⾳频带宽最⼤为40kbits/s,当带宽⾜以⽀持视频时不限制⾳频最⼤带宽。
BluetoothManager:蓝⽛管理器。
BootReceiver:继承⾃BroadcastReceiver的类,⽤于在设备启动时⾃动启动LinphoneService。
CallActivity:通话界⾯。
CallAudioFragment:通话⾳频界⾯。
CallIncomingActivity:来电界⾯。
电话的接听,挂断。
当前没有活动电话的情况下:可以通过按键挂断和接听来电。
通过LinphoneCoreListenerBase类,复写callState(电话⽅法)监听liphone内核电话状态,如果电话已经被挂断(分两种情况,对⽅挂断,本⽅挂断)则挂断电话。
如果linphone内核已经检测到⾳频流(这⾥是铃声的流)则使linphone内核打开⼿机的喇叭,此时来电铃声就会播放。
CallManager:通话管理。
inviteAddress:向某个地址发起invite 请求reinviteWithVideo:向当前的⾳频通路发起视频的invite请求,若当前带宽太窄或当前通路已经有视频流,这不发起invite请求。
reinvite:根据当前的profile向当前通路发起invite请求。
updateCall:改变当前视频通话的视频尺⼨,调⽤该⽅法将会在重新建⽴流媒体通道和重新设置电话参数时重新打开摄像头。
CallOutgoingActivity:拨出电话界⾯。
CallVideoFragment:视频通话界⾯。
一触挨网 emotionally intelligent robot音频配置手册说明书

One Touch with Hub 用户手册单击这里以访问本文档的最新在线版本。
您还将找到最新的内容,以及可扩展的说明、更轻松的导航和搜索功能。
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents1欢迎使用包装内容最低系统需求视图2入门教程连接电源连接到电脑设置 One Touch with Hub 3使用 Toolkit 来启用安全功能等启用安全功能开始备份计划(仅限 Windows )设置镜像文件夹4格式化和分区(可选)选择文件系统格式格式化说明5从您的计算机安全移除设备Windows Mac 6常见问题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 端口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 操作系统. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 最低可用磁盘空间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 正面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 返回. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 在这里开始. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 注册您的设备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 下载 Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 安装 Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 同时兼容 Windows 和 Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 针对 Windows 优化性能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 针对 macOS 优化性能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 了解更多. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 通过 Finder 窗口退出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 通过桌面退出444444445667888991111111112121212121313141414141415. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .全部用户Windows Mac 7Regulatory Compliance China RoHS Taiwan RoHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问题:我的文件传输速度太慢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问题:我的计算机只有 USB-C 端口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问:我必须为我的 USB 设备使用 USB 集线器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问题:所提供的 USB 连接线太短. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问题:我收到文件传输错误消息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问题:计算机上没有出现硬盘的图标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 问题:硬盘的图标没有出现在我的桌面上15151515161616161717181818欢迎使用包装内容®Seagate One Touch with Hub电源适配器 (18W)USB 3.0 连接线(USB Micro-B 转 USB-A)快速入门指南最低系统需求端口可将 Seagate 设备连接到配备 USB-A 端口的计算机。
linphone移植到QQ2440工作日志

首先下载的包有:linphone 2.0.1 ,alsa-lib-1.0.19 ,libogg-1.1.3 ,Libosip2-3.0.3 ,ncurses-5.6 ,readline-5.2 ,speex-1.2beta3 ,libeXosip2 -3.0.3-2#export PATH=$PATH:/usr/local/arm/3.4.1/bin 我的工具连的bin位置#export LD=/usr/local/arm/3.4.1/bin/arm-linux-ld#export LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib#export ARM_INSTALL_TREE =/root/armbuild 做为配置和安装的路径A)#cd /ncurses-5.6#./configure --prefix=/root/armbuild --host=arm-linux --with-gnu-ld –disable-static --with-sharedmakemake installB)#cd /readline-2.0.1#./configure --prefix=/root/armbuild --host=arm-linux --with-gnu-ld --disable-staticmakemake installC) 交叉编译 libosip2-2.2.2#cd libosip2-2.2.2 //到解压后的 libosip 目录下,以下同#./configure --prefix=/root/armbuild --host=arm-linux --with-gnu-ld --disable-static#make //编译#make install //安装// --prefix=/... :指定文件编译安装目录//--host=..... :指定编译工具,默认的为gcc,此处为arm-linux(编译到arm上用的)//--disable-static :禁止静态库(.a)链接,编译生成动态库(.so)D) #cd / libeXosip2-3.0.3-2#./configure --prefix=/root/armbuild --host=arm -linux --with-gnu-ld --disable-static CFLAGS=-I$ARM_INSTALL_TREE/include LDFLAGS=-L$ARM_INSTALL_TREE/ libmakemake installE)cd /libogg-1.1.3#./configure --prefix=/root/armbuild --host=arm-linux --with-gnu-ld --disable-static#make#make installF)cd / speex-1.2beta3#./configure --prefix=/usr --host=arm-linux --with-gnu-ld --disable-static --enable-arm-asm CFLAGS=-I$ARM_INSTALL_TREE/includeLDFLAGS=-L$ARM_INSTALL_TREE/lib#make#make installG)#cd /alsa-lib#./configure --prefix=/root/armbuild --host=arm-linux --with-gnu-ld --disable-static#make#make installH)#rm -f $ARM_INSTALL_TREE/lib/*.la(如果这一步make时报错,请再执行G 步骤一遍)#export PKG_CONFIG_PATH=/root/armbuild/lib/pkgconfig#export PKG_CONFIG=/root/armbuild/bin/pkg-config#cd /linphone#./configure --prefix=/root/armbuild \--host=arm-linux \--disable-static--with-osip=$ARM_INSTALL_TREE \--with-readline=$ARM_INSTALL_TREE\--includedir=$ARM_INSTALL_TREE/include \--enable-gtk_ui=no \--enable-console_ui=yes \--disable-video \SPEEX_CFLAGS="-I$ARM_INSTALL_TREE/include" \SPEEX_LIBS="-L$ARM_INSTALL_TREE/lib -lspeex -lspeexdsp" \LDFLAGS="-L$ARM_INSTALL_TREE/lib" \LIBS="-leXosip2 -losip2 -losipparser2" \CFLAGS="-I$ARM_INSTALL_TREE/include"#make#make install。
linphone 工作原理

linphone 工作原理Linphone is an open-source Voice over Internet Protocol (VoIP) application that allows users to make voice and video calls over the internet. It works by utilizing various protocols such as SIP (Session Initiation Protocol) and RTP (Real-time Transport Protocol) to establish and manage communication sessions. When a user initiates a call, Linphone sends a SIP INVITE message to the recipient's device, which includes information about the call such as the caller's IP address and the type of media (audio or video) being requested. Once the call is accepted, Linphone uses RTP to transmit the voice and video data between the caller and recipient. The application also includes features such as call encryption, echo cancellation, and multi-platform compatibility, making it a popular choice for individuals and businesses looking for a secure and reliable communication solution.中文翻译:Linphone 是一款开源的互联网电话应用程序,允许用户通过互联网进行语音和视频通话。
linphone总结

Linphone总结一、Linphone依赖库简介及移植:用到的开源库简介:AlsaALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。
在2.6系列内核中,ALSA已经成为默认的声音子系统。
Alsa的主要功能是从音频设备中读数据或向播放设备写数据,还可以做一些音频处理,如重采样等。
OsipLibosip2 SIP协议栈的简单实现。
libexosip2对libosip2 的调用进行封装,隐藏了多媒体会话建立过程中SIP 的细节。
ffpmegffmpeg是一套录制,转换各种音视频各式的工具集,也提供SDK的codec接口。
主要包括ffmpeg ffplay ffserver libavcodec libavformat,其中很多编解码库依赖于第三方,比如xVid lampMP3 等等。
ffmpeg的编译大全oggOgg全称应该是OGGVobis(oggVorbis)是一种新的音频压缩格式,类似于MP3等的音乐格式。
Ogg是完全免费、开放和没有专利限制的。
OggVorbis文件的扩展名是.OGG。
Ogg文件格式可以不断地进行大小和音质的改良,而不影响旧有的编码器或播放器。
SpeexSpeex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。
Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛。
另外,相对于其它编解码器,Speex也很适合网络应用,在网络应用上有着自己独特的优势。
同时,Speex还是GNU 工程的一部分,在改版的BSD协议中得到了很好的支持。
Speex是基于CELP并且专门为码率在2-44kbps的语音压缩而设计的。
它的特点有:■窄带(8kHz),宽带(16kHz)和超宽带(32kHz)压缩于同一位流。
linphone-android-工程解读

LinphoneLauncherActivity 是APP的入口组件,在这个组件里,它会启动LinphoneService这个后台服务,然后不断地判断这个后台服务是否已经启动完毕,如果已经启动完毕后,才让APP进入直接的功能组件LinphoneActivity。
LinphoneService是标准的android后台服务,这个后台服务非常的关键,它需要完成的工作包括以下的内容。
加载APP需要使用的资源,启动LinphoneManager这个APP的全局管理器,LinphoneManager 这个全局管理器会一方面管理LinphoneService 的实例,另一方面管理LinphoneCore这个核心实例,同时生成目前需要处理的事件通知的LinphoneCoreListenerBase实例并注册到LinphoneCore这个核心实例的事件监听器中。
目前的LinphoneCoreListenerBase 实例只监听callState,globalState,registrationState这三个事件。
如果这个时候有电话呼入,那么callState事件触发,callState事件当中state会是LinphoneCall.State.IncomingReceived,APP需要切换到电话呼入的操作界面。
registrationState这个事件反馈的是用户的SIP账号到SIP服务器的注册状态,是成功注册还是注册失败等。
LinphoneManager实现了LinphoneCoreListener, LinphoneChatMessage.LinphoneChatMessageListener这两个接口的部分方法,负责系统需要使用的资源的管理与初始化,管理着LinphoneCore的实例,负责了LinphoneCore的初始化和它的整个生命周期,同时又响应接收到文件消息与文件消息的响应,感觉它的整体职责是有点混乱的,可能作者开始是把它作为全局的统一资源管理器的,可是后来开发着开发着就什么东西都往里面放,就成了这样了。
linphone用法

linphone用法
Linphone是一款开源的VoIP软件,它可以让用户进行语音通话、视频通话和发送消息。
它支持多种操作系统,包括Windows、MacOS、Linux、Android和iOS。
下面我将从安装、基本功能和高级功能几个方面来介绍Linphone的用法。
安装:
你可以从Linphone的官方网站或者应用商店下载并安装适合你设备的版本。
安装完成后,你需要创建一个账户,这个账户可以是SIP账户或者其他支持的VoIP服务提供商的账户。
基本功能:
一旦你登录了你的账户,你就可以开始使用Linphone了。
你可以通过Linphone拨打其他VoIP用户或者拨打普通电话号码。
你还可以发送消息,进行视频通话等。
Linphone还支持会议通话和文件传输等功能。
高级功能:
Linphone还有一些高级功能,比如支持高级音频编解码器、音频和视频录制、音频和视频会议等。
它还支持多语言界面和多种主题风格,可以根据个人喜好进行定制。
总的来说,Linphone是一款功能丰富、跨平台的VoIP软件,用户可以通过它实现多种通讯方式。
希望这些信息对你有所帮助。
VoIP技术与Linphone编译

20.3.1 ICT(Invite Client (outgoing) Transaction)状态机
在libosip源码目录下的ICT状态机文件为ict_fsm.c,数 组ict_transition[11]给定了各个状态接收事件的各种事务处 理情况。
20.3.2 NICT(Non-Invite Client (outgoing) Transaction)状态机
20.3.4 NIST(Non-Invite Server (incoming) Transaction)状态机
NIST状态机整个实现过程在nist_fsm.c文件中定义,在 数组transition_t nist_transition[10]中定义了状态机的初始状 态以及初始状态接收的事件,各个事件函数表示了状态机处 理该事件的跳转情况。
函数osip_body_to_str()与函数osip_body_parse()对应, 用于将body中的body字段的内容复制到参数dest中。
20.4.5 克隆函数osip_body_clone()
函数osip_body_clone()将body复制给dest。
20.4.6 oSIP解析器分类
20.5 oSIP事务层
SIP是一个基于事务处理的协议:部件之间的交互是通 过一系列的消息交换所完成的。特别是,一个SIP 事务由一 个单个请求和这个请求的所有应答组成,这些应答包括了零 个或者多个临时应答以及一个或者多个终结应答。
20.6 SIP建立会话的过程
下面采用序列图的方式表示A和B两个用户间的通过SIP 消息交换来建立会话的过程。A通过B的SIP标志“呼叫”B, 这个SIP标志是统一分配的资源(Uniform Resource Identifier URI)称作SIP URI。它很像一个email地址,典型的SIP URI 包括一个用户名和一个主机名。在这个范例中,SIP URI是 sip:bbb@,是B的SIP服务提供商。A有 一个SIP URI: sip:aaa@。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linphone在Linux X86下的编译(一)Linphone依赖库准备:libogg-1.1.3.tar.gz(/releases/ogg/libogg-1.1.3.tar.gz)speex-1.2beta3.tar.gz(依赖于libogg)libosip2-3.3.0.tar.gz(/gnu/osip/libosip2-3.3.0.tar.gz)libeXosip2-3.3.0.tar.gz(/Unix/NonGNU/exosip/libeXosip2-3.3.0.tar.gz)依赖库打包下载地址:/source/1743975readline(optional)intltool-0.35.0.tar.gz(optional)ffmpeg(提供Linphone视频支持,如不需视频功能可不要)Linphone版本:linphone-3.2.0.tar.gzO S: Fedora9(VmWare下)(二)在Linux的/home/cena/目录下新建目录linphone在其中建立sources、build、x86_target、arm_target ;注:这里cena为用户名,以下类同![root @BCD cena]# mkdir –p /home/cena/linphone/sources,/home/cena/linphone/build \/home/cena/linphone/x86_target, /home/cena/linphone/arm_target将相应的库与Linphone源码拷贝到sources目录下|soureces--| libogg-1.1.3.tar.gz--| libosip2-3.3.0.tar.gz--| libeXosip2-3.3.0.tar.gz--| speex-1.2beta3.tar.gz--| linphone-3.2.0.tar.gz将所有压缩文件解压准备编译;[root @BCD cena]# cd linphone/sources[root @BCD sources]# tar zxvf libogg-1.1.3.tar.gz[root @BCD sources]# tar zxvf libosip2-3.3.0.tar.gz[root @BCD sources]# tar zxvf libeXosip2-3.3.0.tar.gz[root @BCD sources]# tar zxvf speex-1.2beta3.tar.gz[root @BCD sources]# tar zxvf linphone-3.2.0.tar.gz进入libogg目录,配置编译libogg[root @BCD sources]# cd ../build/libogg[root @BCD libogg]#../../sources/libogg-1.1.3/configure --prefix=/home/cena/linphone/x86_target/[root @BCD libogg]# make[root @BCD libogg]# make install进入speex目录,配置编译speex[root @BCD libogg]# cd ../speex[root @BCD speex]# ../../sources/speex-1.2beta3/configure --prefix=/home/cena/linphone/x86_target/ --with-ogg=/home/cena/linphone/x86_target/ [root @BCD speex]# make[root @BCD speex]# make install进入libosip目录,配置编译libosip[root @BCD speex]# cd ../libosip[root @BCD libosip]# ../../sources/libosip2-3.3.0/configure --prefix=/home/cena/linphone/x86_target/[root @BCD libosip]# make[root @BCD libosip]# make install进入libeXosip目录,配置编译libeXosip[root @BCD libosip]# cd ../libeXosip[root @BCD libeXosip]# ../../sources/libeXosip2-3.3.0/configure --prefix=/home/cena/linphone/x86_target/PKG_CONFIG_PATH=/home/cena/linphone/x86_target/lib/pkgconfig[root @BCD libeXosip]# make ; make install注:这里如果上一步的libosip的安装不是默认的,那么在配置libeXosip时要附上PKG_CONFIG_PATH=安装目录\lib\pkgconfig进入linphone目录,配置编译linphone[root @BCD libeXosip]# cd .../linphone[root @BCD linphone]# ../../sources/linphone-3.2.0/configure --prefix=/home/cena/linphone/x86_target/ --disable-video --enable-gtk_ui=no --with-osip=/home/cena/linphone/x86_target/PKG_CONFIG_PATH=/home/cena/linphone/x86_target/lib/pkgconfig[root @BCD linphone]# make[root @BCD linphone]# make install注: --enable-gtk_ui=no 目的是去除gtk的ui,否则编译过程中会需要gtk+库。
--disable-video 目的是裁剪掉视频功能,否则编译过程会需要ffmeg库。
--with-osip 目的是指明编译过程所需要的osip库的位置。
P1:configure过程中可能会报intltool not found,这时只需要下载intltool-0.35.0.tar.gz安装即可,最好安装到/usr下P2:make过程中,会出现linphone-3.2.0/mediastreamer2/src/msconf.c:272 和274行的SPEEX_PREPROCESS_GET_PSD_SIZE和SPEEX_PREPROCESS_GET_PSD未定义的错误。
在x86_target/include/speex找到speex_preprocess.h文件在其中加入以上两个宏的定义。
#define SPEEX_PREPROCESS_GET_PSD_SIZE 34#define SPEEX_PREPROCESS_GET_PSD 35P3:make过程中,会出现config.h和coreapi中以及x86_target/include/osipparser2中的几个文件重定义的错误,经查对源代码可知道是config.h被引用了2次所致。
故将coreapi中的sipsetup.c和siplogin.c中的第21行#include <../config.h>注释掉即可再次编译,成功!!!安装后可在x86_target/bin下找到linphonecLinphone的交叉编译Cross- tools:arm-linux-gcc-3.4.1O S:Fedra9(VMware)进入libogg库编译[root @BCD cena]# cd linphone/build/libogg[root @BCD libogg]# ../../sources/libogg-1.1.3/configure --prefix=/home/cena/linphone/arm_target/ CC=arm-linux-gcc --host=arm-linux --enable-static --disable-shared[root @BCD libogg]# make[root @BCD libogg]# make install编译speex库[root @BCD libogg]# cd ../speex[root @BCD speex]# ../../sources/speex-1.2beta3/configure --prefix=/home/cena/linphone/arm_target/ CC=arm-linux-gcc --host=arm-linux --with-ogg=/home/cena/linphone/arm_target/ --enable-static --disable-shared[root @BCD speex]# make[root @BCD speex]# make install编译libosip库[root @BCD speex]# cd ../libosip[root @BCD libosip]# ../../sources/libosip2-3.3.0/configure --prefix=/home/cena/linphone/arm_target/ CC=arm-linux-gcc --host=arm-linux --enable-shared --disable-static[root @BCD libosip]# make[root @BCD libosip]# make install注:这里libosip库编译成动态库,否则编译linphone时会出错。
编译libeXosip库注:仍然编译为动态库,原因同上。
[root @BCD libosip]# cd ../libeXosip[root @BCD libeXosip]# ../../sources/libeXosip2-3.3.0/configure --prefix=/home/cena/linphone/arm_target/ CC=arm-linux-gcc --host=arm-linux --enable-shared --disable-static PKG_CONFIG_PATH=/home/cena/linphone/arm_target/lib/pkgconfig[root @BCD libeXosip]# make[root @BCD libeXosip]# make install编译linphone[root @BCD libeXosip]# cd ../linphone[root @BCD linphone]# ../../sources/linphone-3.2.0/configure --prefix=/home/cena/linphone/arm_target/ --host=arm-linux CC=arm-linux-gcc --enable-static --disable-shared --disable-nls --disable-manual --enable-gtk_ui=no --disable-glib --with-osip=/home/cena/linphone/arm_target/ --enable-alsa=no --enable-video=no --enable-strict=no --enable-artsc=no PKG_CONFIG_PATH=/home/cena/linphone/arm_target/lib/pkgconfig[root @BCD linphone]# make[root @BCD linphone]# make installP1:make过程中会报linphone-3.2.0/mediastreamer2/src/msticker.c:248: error: `CLOCK_MONOTONIC' undeclared (first use in this function)打开 msticker.c文件找到该位置。