摘要: SIP应答消息状态码 与功能类型 状态码 状态说明临时应答(1XX) 100 Trying 正在处理中180 Ringing 振铃181 call being forwarder 呼叫正在前向182 queue 排队181* session progress 会话进行会话成功(2XX) 200 OK 会话成功重定向(3XX) 300 multiple 多重选择301 moved permanently 永久移动302 moved temporaily 临时移动305 use proxy 用户代理380 alternative service 替代服务请求失败(4XX) 400 bad requ 阅读全文
posted @ 2011-03-07 16:53 Please 阅读(13613) 评论(0) 推荐(1) 编辑
摘要: Authorization 缩写为"A" CallID "I" Contact "M" ContentEncoding "E" ContentLength "L" ContentType "C" CSeq "Q" Date "D" EndPoints "EP" Event "N" Expires "X" From "F" MessageID "XI 阅读全文
posted @ 2011-03-07 16:52 Please 阅读(1957) 评论(0) 推荐(0) 编辑
摘要: SIP主要支持以下5个方面信令技术功能: 用户定位:确定通信所使用的终端系统位置。主要是和sip服务器实体中的注册服务器和非sip实体的位置服务器相关,每个用户在上线的所在的sip实体,会将该用户的sip号(sip域中的唯一标识)和一些地址,注册心跳等方面的信息注册到注册服务器中,服务器会将这些信息存在位置服务器中。用户会在自己注册心跳时间内到注册服务器注册一次。当该用户在自己填写的注册心跳时间内还没有再次注册,注册服务器会通知状态服务器,该用户不在线。 用户能力判断:确定通信所使用的媒体类型及媒体参数。这个是SDP包中携带的数据。当用户发出INVITE邀请信息的时候,被叫方会查看该SDP描述 阅读全文
posted @ 2011-03-07 16:49 Please 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: INVITE sip:bob@biloxi.com SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob <sip:bob@biloxi.com>From: Alice <sip:alice@atlanta.com>;tag=1928301774Call-ID: a84b4c76e66710@pc33.atlanta.comCSeq: 314159 INVITEContact: <sip:alice@pc33.atlanta.com>Co 阅读全文
posted @ 2011-02-17 09:34 Please 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 1、string.gmatch(返回查找到字符串的迭代器)t = {}s = "from=world, to=Lua"for k, v in string.gmatch(s, "(%w+)=(%w+)") dot[k]=vendfor k, v in pairs(t) doprint(k,v)endstring.gmatch(字符串,模式字符串,起始位置): 在字符串中查找模式字符串,返回值为一个迭代器(function类型)2、string.gsub(字符串,模式化字符串,替换字符串):返回替换之后的字符串,以及替换的次数3、string.gfind(字符串,模式字符串,起始位置): 返回在 阅读全文
posted @ 2011-02-14 13:48 Please 阅读(8314) 评论(1) 推荐(0) 编辑
摘要: SIP消息分为请求和响应,格式由一个请求行/状态行、几个标题头、一个空行和一个消息体(可选)组成,之间使用回车换行符表示终结,即使消息中未包含消息体,空行也不能省略:1、请求行/状态行&lt;1&gt;请求行包含三部分:方法名,请求URL和协议版本,各部分之间均使用一个空格字符进行分隔,除此之外请求行必须使用回车换行符表示终结;  a、方法:sip协议规定了6个方法:    REGISTER消息,用于发送注册请求信息    INVITE、ACK、CANCEL用于建立会话连接    BYE用于终结会话连接    OPTIONS用于查询服务器能力    注:方法名必须是大写,除此之 阅读全文
posted @ 2011-02-09 13:28 Please 阅读(4272) 评论(0) 推荐(0) 编辑
摘要: 例:repeat print("Please enter route:") route=io.read() if not route then return end suc,msg=io.open(route,"r") if not suc then print(msg) enduntil suc注:在没有打开文件的情况下,此循环会持续执行在lua中,“repeat 循环体 until 条件” ==》:条件为假的情况下,执行循环体(循环体可由多条语句组成) 阅读全文
posted @ 2011-02-08 17:39 Please 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 服务器: 客户端 socket() socket() bind() connect() listen() accept() 开始阻塞直到 write()客户端链接到来 写,发送信息read() read()write() close()read()close()socket函数:为了执行网络i/o,一个进程做的第一件事就是调用socket函数,得到文件描述符;connect()函数:tcp客户用此函数来建立与tcp服务器的链接;bind函数:把一个本地协议地址赋予一个套接字,绑定端口;Listen()函数:仅由TCP服务器调用,监听,调用connect发起链接的客户套接字;Accept() 阅读全文
posted @ 2011-02-08 16:17 Please 阅读(413) 评论(0) 推荐(1) 编辑
摘要: 这个库通过表os实现os.clock ()功能:返回一个程序使用CPU时间的一个近似值例如:local x = os.clock();print(os.clock())local s = 0;for i = 1, 100000000 do s = s + i;endprint(string.format("elapsed time : %.2f\n", os.clock() - x));输出:0elapsed time : 2.55--------------------------------------------------------------------------------os 阅读全文
posted @ 2011-02-08 16:06 Please 阅读(283) 评论(0) 推荐(1) 编辑
摘要: SciTE快捷键Magnify text size.Ctrl+Keypad+(放大字体号)Reduce text size.Ctrl+Keypad-(缩小字体号)Restore text size to normal.Ctrl+Keypad/(复原字号)Cycle through recent files.Ctrl+Tab(打开的文件中循环)Indent block.Tab(插入一个Tab位置)Dedent block.Shift+Tab(回退一个Tab位置)Delete to start of word.Ctrl+BackSpace(打开的文件中循环)Delete to end of wor 阅读全文
posted @ 2011-02-08 16:02 Please 阅读(1390) 评论(0) 推荐(1) 编辑