移植最新版OSIP3.3.0协议到ARM+LINUX开发板上

来源:互联网 发布:python百度语音识别api 编辑:程序博客网 时间:2024/04/30 19:16

作者: agent007  时间: 2008-10-12 09:31:00
作者:        D版乞丐
时间:        2009-08-8
邮箱:        ihacker8@163.com
主页:        http://blog.chinaunix.net/u1/59345/
    
   终于毕业了,现在在公司做VOIP,反正很郁闷,由于公司是做单片机的,所以公司的人总是喜欢用单片机的思维去想问题,他们竟然用51去做IPPBX,用汇编实现TCP/IP、SIP,反正什么协议都要自己做,用51做不动了,终于要用ARM了,天天喊着要上LINUX,结果最后还是要把ARM当高级单片机用,还是要自己实现TCP/IP,SIP。我承认他们很厉害,但我总觉得这样有点什么。。。不说了。
   这是我来公司接到的第一个任务,把SIP协协议移植到ARM+LINUX开发上去,没有什么技术含量,中间有些曲折,主要是对动态库不熟悉造成的,新手可以参考一下,老鸟就略过了,不要打击我。
   1.先创建一个目录用来保存生成的库和头文件。
     mkdir /root/sip

   2.交叉编译libosip2-3.3.0
   ./configure --prefix=root/sip --disable-trace --disable-debug        --host=arm-linux

   make 
   make install

   3.交叉编译libeXosip2-3.3.0
   ./configure --prefix=/root/sip --host=arm-linux --target=arm-linux --disable-static --disable-manual --with-osip=/root/sip

   make
   make install

   4.生成的库和头文件在/home/XX/josua目录下,将库文件拷贝到开发板/lib目录下即可.
    
   5.应用程序的编译
     将源代码放在/root/sip目录下如hello.c
     arm-linux-gcc hello.c -o hello -I ./include -L ./lib -leXosip2 -lpthread
     不行就将lib目录下的动态库拷贝到交叉编译工具链下面的arm-linux/lib目录下。 

   现在已经可以打电话了,参考eXosip2开发手册也很容易,代码就不贴了,很烂。可以参考一下网上别人写的代码和参考手册。下一步就做RTP传送语音吧,志同道合的朋友们一起讨论下。

转自:http://www.phpfans.net/article/htmls/200908/Mjc2Nzk1.html