1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: SIP 话机 TELNET 服务器实现 姓 名 : 学 院 :软件学院 系 : 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 厦门大学软件学院 毕业论文 第 1 页 共 34 页 SIP 话机 TELNET 服务器实现 【摘要 】 随着语音,互联网等技术的不断发展, VOIP 这种低话费,高通话质量的话机已被越来越多的人所接受。其中 基于 SIP 协议的 VOIP 技 术一直受到设备生产商的关注,主要是因为该协议具有可扩展特性,可以轻松定义并迅速实现新功能。而通过 TELNET 协议,我
2、们可以轻松的对 SIP 话机进行各种的功能设置。 TELNET 协议 对 SIP 话机的新功能的实现,以及维护都带来了极大的方便。 本文主要讨论了在 SIP 话机上如何实现 TELNET 服务器,以及对 TELNET 服务器进行功能上的改进 ,提高 TELNET 服务器的处理效率,使得用户可以更方便的使用 TELNET 服务器功能来对话机进行各种功能设置。 首先,本文先介绍了 TELNET 协议的相关内容; 对在 RFC854 中规定的 TELNET 协议规范进行说明,包括实现 TELNET 所必需的三部分:虚拟终端、协商选项、状态机;同时简单说明SIP 话机的相关知识。 然后,对基于 VxW
3、orks 操作系统的网络编程进行简单的介绍。 最后,详细说明 TELNET 服务器在 SIP 话机上的实现过程 和具体的实现方法 ,对 TELNET服务器 功能 的 改进 ,以及对本次工作的总结 。 【关键字】 TELNET 功能改进 TELNET 协议 厦门大学软件学院 毕业论文 第 2 页 共 34 页 【 Abstract】 Nowadays, with the developing of phonetic technology and internet, more and more people have accepted the VOIP telephone which has ch
4、eap telephone fees and high communicating quality. The VOIP technology based on SIP protocol always gets the attention of the equipment manufactories, the main reasons are its expansibility and the easiness of definition as well as realizing new functions rapidly. With the help of TELNET protocol, w
5、e can set many new functions for the SIP phone. TELNET protocol makes it much easier to set new functions for the SIP phone and maintains the SIP phone. This paper mainly discusses how to implement the TELNET server in the SIP phone, and the amelioration of the TELNET functions, this will increase t
6、he efficiency of the TELNET server, and makes the user set the SIP phone easier. First, this paper introduces something about the TELNET protocol and then explains the criterion of the TELNET protocol of the RFC854. It also includes three needed parts to implement the TELNET. They are virtual termin
7、al, negotiation options and state machine. As well this part explains something about the SIP phone simply. Second, this paper introduces the network programming based on the VxWorks Operating System simply. Finally, this paper gave a detail description of how to implement the TELNET server in the S
8、IP phone. It also makes discuss of the development of the TELNET functions. In the end, I summed up this work. 【 Keywords】 TELNET function development TELNET protocol 厦门大学软件学院 毕业论文 第 3 页 共 34 页 目录 第一章 引言 . 6 第二章 实现 TELNET 模块的基础技术知识和话机相关知识介绍 . 7 2.1 TELNET 协议简介 . 7 2.1.1 远程网络终端协议 TELNET 介绍 . 7 2.1.2
9、TELNET 的条件和用途 . 8 2.1.3 TELNET 协商机制 . 8 2.1.4 TELNET 命令结构 . 9 2.1.5 已定义的 TELNET 的基本命令 . 9 2.1.6 TELNET 协议中的子谈判机制 . 10 2.1.7 TELNET 协议的数据传输 . 11 2.1.8 TELNET 状态机 . 11 2.2 VxWorks 操作系统网络编程基础知识 . 12 2.2.1 VxWorks 操作系统的网络架构 . 12 2.2.2 VxWorks 操作 系统 中面向连接的协议调用 . 13 2.2.3 本文中涉及的 VxWorks 操作系统中的固有网络编程函数 . 1
10、3 2.3 话机相关知识介绍 . 14 第三章 TELNET 模块具体的实现过程 . 16 3.1 建立 TELNET 连接 . 16 3.1.1 初始化 TELNET. 16 3.1.2 对生成的套接字描述符进行确认 . 16 3.2 TELNET 协商过程 . 17 3.3 对键盘按键消息的处理 . 18 3.4 命令的执行过程 . 19 3.5 关闭 TELNET 连接 . 20 3.6 TELNET 模块流程总结 . 20 第四章 对 TELNET 的功能改进 . 21 4.1 TELNET 模块中命令查找功能的添加 . 21 4.1.1 TELNET 模块命令查找的缺陷 . 21 4
11、.1.2 TELNET 模块中的命令查找功能的需求 . 22 4.1.3 命令查找功能的实现 . 22 4.2 TELNET 模块中共通参数处理功能的添加 . 28 4.2.1 TELNET 模块中参数处理功 能的缺陷 . 28 4.2.2 TELNET 模块中参数共通处理的需求 . 28 4.2.3 TELNET 模块中参数的处理方法 . 28 4.2.4 TELNET 模块中参数共通检验功能的实现 . 28 结论 . 33 致谢语 . 34 参考文献 . . 35 厦门大学软件学院 毕业论文 第 4 页 共 34 页 Contents Chapter 1 Introduction . 6
12、Chapter 2 Something Aboout How To Implement TELNET Server . 7 2.1 TELNET Protocol Brief Introduction . 7 2.1.1 TELNET Protocol Introduction . 7 2.1.2 The Condiction And Use Of TELNET . 8 2.1.3 The Negotiation Of TELNET . 8 2.1.4 The Order Configuration Of TELNET . 9 2.1.5 TELNET Basic Order . 9 2.1.
13、6 TELNET Negotiation . 10 2.1.7 Transfers Of Data In TELNET Protocol . 11 2.1.8 TELNET State Machine . 11 2.2 Basic Knowledge Of VxWorks Operating System . 12 2.2.1 The Network Configuration Of VxWorks Operating System . 12 2.2.2 The Protocol Used In VxWorks Operating System . 13 2.2.3 Some Function
14、 Of VxWorks Operating System In This Paper . 13 2.3 Some Knoeledge About Phone . 14 Chapter 3 How To Implement TELNET Server . 16 3.1 Create TELNET Connection . 16 3.1.1 Initialize TELNET . 16 3.1.2 Check SOCKET . 16 3.2 How To Put Up TELNET Negotiation . 17 3.3 Manage The Keyboard Event . 18 3.4 Ho
15、w To Put Up Orders . 19 3.5 Close TELNET Connection . 20 3.6 TELNET Flow . 20 Chapter 4 The Betterment Of TELNET Server . 21 4.1 Add The Function Of Lookup Order In TELNET Server . 21 4.1.1 Limitation In TELNET Server About Searching Order . 21 4.1.2 The Requirement Of TELNET Server About Searching
16、Order . 22 4.1.3 How To Implement The Function Of Searching Order . 22 4.2 Add The Function Of Function Management In TELNET Server . 28 4.2.1 Limitation In TELNET Server About Function Management . 28 4.2.2 The Requirement Of TELNET Server About Function Management . 28 4.2.3 How To Manage The Para
17、meter In TELNET Server . 28 4.2.4 How To Implement The Function Of Function Management . 28 Conclusion.33 Acknowledgement.34 References . 35 厦门大学软件学院 毕业论文 第 5 页 共 34 页 厦门大学软件学院 毕业论文 第 6 页 共 34 页 第一章 引言 随着互联网,语音,多媒体等技术的不断发展与完善,如今, VOIP(网络电话 )这种低话费,通话质量也不差的话机已开始被广大消费者及企业用户所接受。据咨询机构 Frost 如果该请求被拒绝,连接的另
18、一端仍然保留 NVT 的特性。 WILL XXX 由双方发送出去,表示该方希望(提出)开始对选项 XXX 进行处理。 DO XXX 和 DONT XXX 表示它的肯定和否定回 应;类似地, DO XXX 发送出去指示(请求)对方(也即 DO 的接收者)开始对选项 XXX 进行处理, WILL XXX 和 WONT XXX 表示肯定和否定回应。 2.1.4 TELNET命令结构 所有的 TELNET 命令至少包含一个两个字节的序列 :跟在命令的代码的后面, “ 当作命令来解释 (Interpret as Command)” (IAC)的转义字符。处理选项谈判的命令有三个字节系列,第三个字节就成了
19、被选项引用的编码。 2.1.5 已定义的 TELNET 的基本命令 基本的 TELNET 命令请参考表 2 1, 这些代码和代码序列只有在前面跟有一个 IAC 时才有意义。 表 2 1 TELNET 的基本命令 1 名称 代码 意义 EOF 236 文件结束符 SUSP 237 挂起当前进程 ABORT 238 中止进程 EOR 239 记录结束符 SE 240 子谈判结束符 NOP 241 空操作 Data Mark 242 一个同步信号的数据流部分。该命令的后面经常跟着一个 TCP 紧急通知 Break 243 NVT 的 BRK 字符 (终止) Interrupt Process 244 IP 功能 (终止进程) Abort output 245 AO 功能 (终止输出)