2012年6月6日

CentOS 6.2 下编译使用Libvlc

摘要: 总的来说把VLC内嵌入自己的应用有4种途径:•直接调用VLC进程•VLC的plugin for Mozilla•VLC的ActiveX插件•调用libvlc最近需要VLC动态库做开发,故需要编译vlc,并修改VLC 将自己的API借口添加到Lib动态库中。下面来编译VLC2.0.1,从官网下载最新VLC。(新版本的VLC需要gcc和glibc的支持,所以使用centOS 6.2或者ubunt10.0版本)如果想要加载全部功能,需要安装如下库yum install a52dec a52dec-devel caca-utils dirac dirac-devel expat expat-devel 阅读全文

posted @ 2012-06-06 21:30 xiaOt99 阅读(1822) 评论(0) 推荐(0)

centOS 5.5 下安装asterisk

摘要: 一、安装asterisk先决条件:1.检查系统内核版本#uname -a例如:Linux localhost.localdomain 2.6.18-92.el5xen #1 SMP Tue Jun 10 19:55:54 EDT 2008 i686 i686 i386 GNU/Linux2.检查是否已经安装kernel-devel# rpm -q kernel-devel例如:kernel-devel-2.6.18-92.1.10.el5,表示已经安装,如果没有安装,要用yum安装一下,如下 yum install kernel-devel3.检查是否已经安装以下的辅助软件包rpm -q bi 阅读全文

posted @ 2012-06-06 21:14 xiaOt99 阅读(1298) 评论(0) 推荐(0)

SIP协议

摘要: SIP协议 2011-04-15 23:21:29|分类: FreeSWITCH |字号订阅在 继续学习 FreeSWITCH 之前我们有必要来学习一下 SIP 协议,因为它是 FreeSWITCH 的核心。但即使如此,讲清楚 SIP 必然需要很大篇幅,本书是关于 FreeSWITCH 的,而重点不是 SIP。因此,我将仅就理解 FreeSWITCH 必需的一些概念加以通俗的解释,更严肃一些的请参阅其它资料或 RFC(Request For Comments)。SIP 的概念和相关元素会话初始协议(Session Initiation Protocol)是一个控制发起、修改和终结交互式多媒体. 阅读全文

posted @ 2012-06-06 21:06 xiaOt99 阅读(4498) 评论(0) 推荐(0)

SDP概述

摘要: 1.概述SDP也是MMUSIC工作组的一个产品,在MBONE内容中用得很多。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。它定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成.典型的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP和使用MIME的E-Mail.(注意:对SAP只能包含一个会话描述,其它会话传输协议的SDP可包含多个会话描述)SDP包括以下一些方面1)会话的名称和 阅读全文

posted @ 2012-06-06 21:06 xiaOt99 阅读(600) 评论(0) 推荐(0)

linux下mysql命令

摘要: 一、总结一下:1.linux下启动mysql的命令: mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启mysql的命令: mysqladmin restart/ect/init.d/mysql restart (前面为mysql的安装路径)3.linux下关闭mysql的命令: mysqladmin shutdown /ect/init.d/mysql shutdown (前面为mysql的安装路径)4.连接本机上的mysql:进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入 阅读全文

posted @ 2012-06-06 20:48 xiaOt99 阅读(272) 评论(0) 推荐(0)

MySQL命令集锦

摘要: 一、连接MYSQL。格式:mysql-h主机地址-u用户名-p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql-uroot-p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:mysql-h110.110.1 阅读全文

posted @ 2012-06-06 20:47 xiaOt99 阅读(205) 评论(0) 推荐(0)

从SOCKADDR_STORAGE结构中取IP地址和端口

摘要: 本人在做IOCP模型的编程时,遇到一个问题就是从SOCKADDR_STORAGE结构中,取出客户的IP地址和端口,以利于统计因为SOCKADDR_STORAGE结构比较复杂,而且兼容了IPV4和IPV6的版本,是直接取不出来的,仔细研究"windows 网络编程"中的代码,意识到,不管怎么样,在收发消息的函数中,肯定是要用到IP和Port信息的,收发消息函数如下:rc=WSARecvFrom(sock->s,&wbuf,1,&bytes,&flags,(SOCKADDR*)&recvobj->addr,&recvobj-& 阅读全文

posted @ 2012-06-06 20:43 xiaOt99 阅读(2485) 评论(0) 推荐(0)

跟我一起写Makefile:MakeFile介绍

摘要: makefile 介绍make命令执行时,需要一个 makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。首先,我们用一个示例来说明makefile的书写规则。以便给大家一个感性认识。这个示例来源于gnu的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:1)如果这个工程没有编译过,那么我们的所有c文件都要编译并被链接。2)如果这个工程的某几个c文件被修改,那么我们只编译被修改的c文件,并链接目标程序。3)如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的 阅读全文

posted @ 2012-06-06 20:41 xiaOt99 阅读(305) 评论(0) 推荐(0)

linux epoll使用详解

摘要: Linux2.6内核中epoll用法详解引言epoll是linux2.6内核中才有的机制,其他版本内核中是没有的,是Linux2.6内核引入的多路复用IO的一种方式,用于提高网络IO 性能的方法。在linux网络编程中,很长一段时间都是采用select来实现多事件触发处理的。Select存在如下几个方面的问题:一是每次调用时要 重复地从用户态读入参数,二是每次调用时要重复地扫描文件描述符,三是每次在调用开始时,要把当前进程放入各个文件描述符的等待队列。在调用结束后,又把 进程从各个等待队列中删除。Select采用轮询的方式来处理事件触发,当随着监听socket的文件描述符fd的数量增加时,轮询 阅读全文

posted @ 2012-06-06 20:40 xiaOt99 阅读(704) 评论(0) 推荐(0)

C中堆管理—浅谈malloc,free,calloc,realloc函数之间的区别

摘要: 在进行C/C++编程的时候,需要程序员对内存的了解比较好清楚,经常需要操作的内存可分为下面几个类别:堆栈区(stack):由编译器自动分配与释放,存放函数的参数值,局部变量,临时变量等等,它们获取的方式都是由编译器自动执行的堆区(heap):一般由程序员分配与释放,基程序员不释放,程序结束时可能由操作系统回收(C/C++没有此等回收机制,Java/C#有),注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。全局区(静态区)(static):全局变量和静态变量的存储是放在一块儿的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系 阅读全文

posted @ 2012-06-06 20:39 xiaOt99 阅读(343) 评论(0) 推荐(0)

使用读写锁 (多线程编程指南)

摘要: 使用读写锁配置读写锁的属性之后,即可初始化读写锁。以下函数用于初始化或销毁读写锁、锁定或解除锁定读写锁或尝试锁定读写锁。下表列出了本节中讨论的用来处理读写锁的函数。表 4–9 处理读写锁的例程读取非阻塞读写锁中的锁写入非阻塞读写锁中的锁初始化读写锁使用 可以通过 attr 所引用的属性初始化 rwlock 所引用的读写锁。#include int pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr); pthread_rwlock_t rwlock = PTHREAD_RWLOCK_IN. 阅读全文

posted @ 2012-06-06 20:38 xiaOt99 阅读(559) 评论(0) 推荐(0)

Gdb的安装和配置

摘要: 目录一、gdb+gdbserver总体介绍... 1二、源代码下载... 1三、配置编译及安装下载... 1四、gdb+gdbserver nfs调试流程... 2五、如何利用串口调试... 3六、实战调试... 3七、linux下安装gdbserver问题... 5一、gdb+gdbserver总体介绍远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用 GDB标准程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就目前而言,嵌入式Linux系统 阅读全文

posted @ 2012-06-06 20:37 xiaOt99 阅读(562) 评论(0) 推荐(0)

gcc和g++区别

摘要: gcc和g++都是GNU(组织)的一个编译器。误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。误区二:gcc不会定义__cplus 阅读全文

posted @ 2012-06-06 20:36 xiaOt99 阅读(269) 评论(0) 推荐(0)

asterisk AGI编程收藏

摘要: 查看文章asterisk AGI编程收藏IntroductionThe AGI facility allows you to launch scripts, written in just about any language, from an Asterisk dial plan. Communication between your script and Asterisk is via standard input and standard output. 拨号方案中,可以采用各种语言很方便的通过AGI接口编写实施脚本。脚本和Asterisk之间通过标准的输入输出进行交互。Starting 阅读全文

posted @ 2012-06-06 20:33 xiaOt99 阅读(564) 评论(0) 推荐(0)

asteirsk 开发指南

摘要: 说明:本文档探讨基于Asterisk如何实现VoIP的一些基本功能,包括基本呼叫功能的方案选取、主叫号码透传、如何编写Asterisk AGI程序、Radius认证计费模块等。本文档VoIP软终端使用X-Lite,其它终端均可以接入测试。文章内容仅供参考,转载请注明出处。 1 VoIP系统相关协议和标准 由于I P电话技术标准的开发涉及多个领域,因此,VOIP系统要想实现这些IP电话之间的通信,则必须提供支持这些协议的实现。目前主要涉及的协议如图1-1所示,其中除了HTTP是与WWW相关的协议外,其它的都是VOIP相关协... 阅读全文

posted @ 2012-06-06 20:32 xiaOt99 阅读(419) 评论(0) 推荐(0)

asterisk dialplan详解

摘要: Asterisk拨号函数Dial()详解Asterisk的拨号函数/命令是Dial,下面就介绍一下这个函数的用法。Dial()摘要在一个通道上发起一个新的外拨呼叫,然后把它连接到当前通道上。语法Dial(type/identifier, timeout, options, URL) 或Dial(type1/identifier1[&type2/identifier2[&type3/identifier3... ] ], timeout, options, URL) 或RetryDial(announce|sleep|loops|Technology/resource[& 阅读全文

posted @ 2012-06-06 20:30 xiaOt99 阅读(1791) 评论(0) 推荐(0)

asterisk 基础学习二

摘要: Asterisk的基本配置摘录>先探讨对模拟接口如FXS和FXO端口的基本配置.然后配置两个VoIP接口:一个连接软电话的本地SIP通道,一个通过Asterisk内部协议(Inter-eXchange protocol IAX)连接全球免费通信(Free World Dialup).4.1 我到底需要什么Asterisk可以连接的数目庞大的接口类型,包括:模拟接口,如你的电话线(FXS)和模拟电话(FXO)数字线路,如T-1和E-1线路VoIP协议如SIP和IAX4.2 使用接口配置文件注意,这种硬件接口不是必须的,如果你想建立一个纯IP的配置,你可以跳到SIP配置的章节.配置文件如下: 阅读全文

posted @ 2012-06-06 20:29 xiaOt99 阅读(1003) 评论(0) 推荐(0)

asterisk chan_sip.c代码分析

摘要: 1. 代码简介:Chan_sip.c是SIP协议(RFC3261)的实现代码,它没有实现对S/MIME, TCP and TLS的支持,对应的配置文件是sip.conf,代码所在的分组是:通道驱动类(channel_drivers)。 SIP通道处理各种类型的Sip sessions和dialogs(注意:并不是所有的dialogs都是“电话呼叫”),主要包括:* - Incoming calls that will be sent to the PBX core* - Outgoing calls, generated by the PBX* - SIP subscriptions and. 阅读全文

posted @ 2012-06-06 20:24 xiaOt99 阅读(789) 评论(0) 推荐(0)

Asterisk 1.8 sip 协议栈分析

摘要: 引用自:http://blog.csdn.net/z1623866465/archive/2011/01/02/6113057.aspx看了一下 asterisk 1.8 ,chan_sip 更新了许多内容,下面结合asterisk 1.4 asterisk 1.6分析一下sip协议栈。此笔记为本人学习记录,有些地方描述其他人可能看不懂,望见谅。分析路线sipsock_read->parse_request->find_call->handle_inconming->handle_request_方法名。。。。协议栈初始化:load_module() 函数加载SIP配置 阅读全文

posted @ 2012-06-06 20:10 xiaOt99 阅读(910) 评论(0) 推荐(0)

asterisk meetme 会议实现

摘要: 引用自“我的团队我的团”http://www.cnblogs.com/5dteam/articles/1729654.htmlasterisk 关于电话会议MeetMeMeetMe概要 MeetMe会议桥描述 语法:MeetMe([confno][,[options][,pin]]) 用途:让用户进入一个指定的MeetMe会议。如果省略了会议编号,系统会提示用户选择一个。(注意:MeetMe会议需要一个Zaptel时钟才能工作,你可以不装任何板卡,但是你需要安装Zaptel) 参数:options可以为空,也可以设置一个或者多个参数,参数有如下一些:·'1' —当会议 阅读全文

posted @ 2012-06-06 20:08 xiaOt99 阅读(865) 评论(0) 推荐(0)

asterisk-基础学习一

摘要: 参见by lwb12915@163.com Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括: 1模拟接接口,如你的电话线或模拟电话. 2数字线路,如T-1和E-1线路 3Voip协议,如SIP和IAX 目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是特拽IAX2 使用接口配置文件 1.Zaptel.conf:硬件接口基层配置,我们将建立一个FX0和一个FXS通道. 2.zapata.conf:硬件配置Asterisk的接口. 3.extens... 阅读全文

posted @ 2012-06-06 20:06 xiaOt99 阅读(952) 评论(0) 推荐(0)

asterisk-通道变量列表

摘要: ${ACCOUNTCODE}: 用户计费帐号 sip.conf 里的 account=XXXX${ANSWEREDTIME}: 通话时长(秒)${BLINDTRANSFER}: 通道是否为转接类型${CALLERID(all)}: 主叫用户名(主叫ID) 格式 name(123454)${CALLERID(name)}:主叫用户名sip.conf 里的 username=XXXX${CALLERID(num)}: 主叫号码sip.conf 里的 callerid=XXXX${CALLINGPRES}: PRI Call ID Presentation variable for incoming 阅读全文

posted @ 2012-06-06 20:00 xiaOt99 阅读(313) 评论(0) 推荐(0)

SVN trunk, branches and tags

摘要: 翻译者:zwws原 文:SVN trunk, branches and tags译 言:http://article.yeeyan.org/view/132319/81358转载请注明原链接,谢谢。因水平所限,如果翻译得和原文有差,敬请评论指正。 在本篇文章中, 我将会详细说明我是如何应用SVN trunk(树干)、branches(分支)和tags(标记)。这种方法同样被称为“branch always”,两者非常接近。可能我所介绍的并不是最好的方法,但是它会给新手一些解释说明,告诉他们trunk、branches和tags是什么,并且该如何去应用它们。 当然,如果本文有些要点需要澄清/.. 阅读全文

posted @ 2012-06-06 18:09 xiaOt99 阅读(212) 评论(0) 推荐(0)

导航