欢迎来到我的范文网!

网络免费电话sdk

自荐信 时间:2020-08-16

【www.myl5520.com--自荐信】

基于Visual C++的一个简单的网络电话系统
篇一:网络免费电话sdk

题 目 基于Visual C++的一个简单的网络电话系统

学生姓名 张一冰学号 1213014020

所在学院 物理与电信工程学院

专业班级 电子1201班

指导教师 李菊叶

完成地点物电学院计算机信息处理实验室

2016 年 6 月 5 日

毕业论文﹙设计﹚任务书

院(系) 物电学院 专业班级 电子信息工程 学生姓名 张一冰

一、毕业论文﹙设计﹚题目 基于Visual C++的一个简单的网络电话系统

二、毕业论文﹙设计﹚工作自__2016 __年_3 _月10 日 起至_ 2016__年 6 月 20 日止

三、毕业论文﹙设计﹚进行地点: 物电学院计算机信息处理分室

四、毕业论文﹙设计﹚的内容要求: 网络电话,是用户通过互联网直接拨打对方的固定电话或手机,包括国内长途和国际长途,而

且费用比用传统电话拨打便宜5到10倍。为了节约通信成本。

本设计要求学生在Visual C++环境下开发一个简单网络电话系统,可实现PC与PC、PC与

Phone、phone与phone的通话功能。

五、 毕业论文﹙设计﹚应收集资料及参考文献:

[1]徐孝凯,张纪勇.C++面向对象程序设计:VC++6.0运行环境[M].天津大学出版社2009. [2]汪晓

平,钟军.VC++网络通信协议分析与应用实现[M].北京:人民邮电出版社,2003.

[3]王艳平,张越.Windows网络与通信程序设计[M].北京:人民邮电出版社,2006. [4]

Andrew S.Tanenbau.计算机网络(第四版)[M].北京:清华大学出版社,2004.

[5]谢希仁.计算机网络(第五版)[M].北京:电子工业出版社,2012.

[6]朱桂英.张元亮 Visual C++网络编程开发与实践[M].清华大学出版社.2013.

六、毕业论文﹙设计﹚的进度安排:

3月2日——3月29日:查阅资料,完成初步设计方案和开题报告。 4月1日——4月26日:根据网络电话系统的工作原理,给出设计方案,及软件流程图。 4月29日——5月24:并在软件环境下进行运行调试,进一步完善系统功能,整理资料;

5月27日——6月7日:撰写、修改毕业设计论文。 6月10日——6月15日:打印论文准备并完成答辩。 指导教师签名 系(教研室)主任签名

专业负责人签名批准日期

基于Visual C++的一个简单的网络电话系统

张一冰

(陕西理工学院物理与电信工程学院电子信息工程专业,2012级1班,陕西 汉中 723000)

指导教师:李菊叶

[摘要]网络普及给人们的生活带来了巨大的变化,视频聊天、远程会议、远程监控等应用逐渐走进了人们的日常生活和商务应用中。本文基于Visual C++所开发的一个网络电话系统,利用传输控制协议和互联网协议原理、winsock以及流式套接字来完成程序的设计,用电脑通过客户端程序实现通话功能。在现实中众所周知,我们都了解电话通信需要花费一定的通信费用,因此开发这样的应用程序,可以很大地节约人们之间通信成本,方便交互与沟通,在未来也会得到更大的应用。

[关键字]网络电话;winsock;TCP/IP;socket网络免费电话sdk。

Visual C ++ based on a simple network telephone system

Zhang Yibing

(Shaanxi Institute of Physics and Telecommunication Engineering, Electronic and Information

Engineering, 2012 class 1, Hanzhong, Shaanxi 723000)

Tutor:Li Juye

Abstract:Internet popularity to people's lives has brought great changes, video chat, teleconferencing, remote monitoring applications gradually into people's daily life and business applications. Based on Visual C ++ developed a network telephone system, using the Transmission Control Protocol and Internet Protocol principles, winsock and stream socket to complete the design process, to achieve a computer call functionality through the client program. In reality we all know, we all know it takes a certain telephone communication communication costs, so the development of such applications, can greatly save the cost of communication between people, to facilitate interaction and communication in the future will get more applications. Keywords:voip;winsock;TCP/IP;socket

目录

1引言 ..................................................... 1

1.1研究背景 ................................................ 1

1.1研究目的 ................................................... 1

1.3开发环境 ................................................ 1

1.3.1 VC++6.0平台 .......................................... 1

1.3.2 开发语言C++ .......................................... 2

1.3.3 Winsock ............................................... 2

1.4实现方式 ................................................ 3

2 VoIP的概述 .............................................. 4

2.1 网络电话技术原理的分析及实现 ............................... 4

2.1.1 网络电话原理 ............................................. 4

2.1.2 网络基础知识 .......................................... 4

2.1.3 网络编程基础 .......................................... 7

2.1.4网络通信基本流程 ......................................... 8

2.1.5 搭建开发环境 ............................................. 8

2.1.6 套接字 ................................................... 8

2.1.7 套接字相关类 .......................................... 9

3网络电话系统软件模块的实现 .............................. 11

3.1网络通信 ............................................... 11

3.2套接字响应函数 ......................................... 19

4测试结果 ................................................ 22

云之讯融合通讯开放平台-WIN开发指南
篇二:网络免费电话sdk

云之讯融合通讯开放平台Windows开发指南

1 概述

云之讯融合通讯开放平台旨在为第三方应用开发者提供丰富完善的注册流程、接入机制、安全策略、管理后台以及不同语言的SDK开发包,为开发者在应用内快速、高效、低成本集成语音业务提供了一站式的服务。本文档旨在为第三方应用开发者在Windows平台下集成Ucpaas SDK来打造语音业务提供参考,文档预期的读者为第三方应用开发人员、平台开发人员、相关技术人员等。

1.1 介绍

云之讯融合通讯开放平台SDK提供了VoIP通话、落地电话、即时消息等基础能力,REST API除了提供上述功能外,还提供注册账号、 创建client、营销外呼、语音验证码、各类查询等等。云之讯融合通讯开放平台Windows SDK 以C++动态库的方式提供给Windows平台开发人员。REST API 可通过HTTPS GET、POST方式访问。

1.2 开发流程

云之讯融合通讯开放平台作为通讯能力的云计算PAAS平台,将传统电信网络的通讯能力、基于IP的通讯能力,通过开放API以及SDK的方式提供给开发者和商家,协助开发者快速、高效、低成本打造融合通讯能力的产品。

1.您的客户端应用集成云之讯融合通讯开放平台提供的SDK,同时客户端向您的应用服务器请求分配client账号信息;

2.您的应用服务器通过调用云通讯平台REST API 得到用户账号并返回给您的客户端应用;

3.客户端应用通过调用SDK API发起呼叫请求或者监听呼入;

2 VoIP快速体验

在云之讯融合通讯开放平台注册账号,创建Demo账号,并下载获取UcsDemo程序(具体过程请参考以下内容)。在Demo程序中,演示了云通讯平台提供的基础VoIP通话功能。

2.1 申请测试账号

在Ucpaas平台上获取Demo账号信息,须注册后创建Demo,即可获得开发VoIP所需的测试帐号信息。测试账号信息内容有:主账号、主账号密码、client账号、client账号密码,应用ID

2.2 环境搭建

推荐Windows7旗舰版 32位

声卡正常的PC机

有耳麦的耳机

2.3 Demo

下载:在Demo账号信息页面,提供了不同平台下的Demo下载,请选择Windows版下载Ucs Demo功能介绍,Demo演示了Ucpaas SDK的API接口调用,主要实现的功能:

免费电话:需要对方的client账号,双方进行的网络P2P通话,免费通话

电话直拨:需要对方的手机号,主叫接入网络电话,被叫接入普通电话

2.4 解压Demo压缩文件

解压下载的UCS_DEMO_WINDOWS.zip文件到任一目录。

2.5 运行体验

配置账号信息完成,即可运行Demo程序。

3 创建自己的应用

这一节是为了让开发者能够用最少的代码量和时间,来实现基本的VoIP通话功能。

3.1 SDK介绍

SDK下载:从Ucpaas平台下载VoIP的Windows SDK

SDK文件说明:SDK文件放在文件夹SDK中,其中包含四个文件:

UCSClient.h为SDK函数头文件

UCSNetService.lib为SDK静态库文件

UCSNetService.dll为SDK动态库文件

NetService.dll为SDK动态库文件

3.2 环境搭建与创建工程

推荐Microsoft Visual Studio 2010作为开发环境,

开发者新建项目时选择需要的类型模板

3.3 编写代码

介绍代码的实现过程,也可参考Demo的代码实现,加深理解UCSClient.h内SDK函数调用

3.3.1 Ucpaas SDK初始化

{

// 初始化SDK,并传入回调函数

Ucs_init( UCS_CALLBACKINTERFACE *CallbackInterface )

}

3.3.2 登录client账号

登录平台

{

// 与Ucpaas平台连接

Ucs_connectconst char *accountSid, const char *accountToken, const char *clientNumber, const char *clientPwd);

}

连接事件相关回调函数

连接成功:

void OnConnectionSuccessful()

{

// 连接成功后的处理代码

}

连接失败:

void OnConnectFailed(int reason))

{

// 连接失败后的处理代码

}

3.3.3 创建VoIP免费通话(或电话直拨)

创建呼叫

{

// 拨打免费通话(对方client账号) 或 电话直拨(对方电话号码)

Ucs_dial(type,(LPCTSTR)calledNumber)

}

连接被叫成功回调函数

void onAlerting(const char *callid)

{

// 连接被叫成功

}

对方接听回调函数

void onAnswer(const char *callid)

{

// 对方已接听

}

呼叫失败(被叫拒接,被叫忙等原因)的回调函数,可参考错误码查找失败原因 void onDialFailed(const char *callid, int reason)

{

// 呼叫失败,可根据reason查找错误原因

}

通话过程中,对方挂断的回调函数

void OnCallReleased(const char *callid)

{

// 通话过程中,对方挂断电话

}

3.3.4 接听VoIP通话

有呼叫呼入回调函数

void onIncomingCall (const char* callid, int callType, const char* caller) {

// 有VoIP电话呼入处理

}

接通电话

{

// 接听VoIP电话,使用callid参数标识接听某个具体的VoIP电话

Ucs_answer(callid);

}

接听成功的代理函数

void onAnswer(const char *callid)

{

// 接听成功

}

3.3.5 挂断VoIP通话

{

// 释放呼叫

Ucs_hangUp(callid);

}

3.4 编译运行和测试

启动调试

交易SDK
篇三:网络免费电话sdk

PRD O ,

XX

交易SDK

PRD v0.1

网络免费电话sdk。

坤汀

2016-04-01

修订控制页

目录

1 概述 ..................................................................................................... 4

1.1

1.2 名词说明 .................................................................................... 4 产品概述及目标 ............................................................................ 5

1.2.1

1.2.2

1.3

2 产品概述 ........................................................................ 5 产品目标 ........................................................................ 5 产品风险 .................................................................................... 6 功能需求 ................................................................................................ 6

2.1

2.2 功能总览 .................................................................................... 6 功能详情 ............................................................. 错误!未定义书签。

2.2.1

2.2.1.1

2.2.1.2

2.2.1.3

2.2.2

2.2.3

2.2.4

2.3 分享路径 ................................................. 错误!未定义书签。 范儿首页 ................................................................ 错误!未定义书签。 分享组件浮层 .......................................................... 错误!未定义书签。 微信分享中间页 ........................................................ 错误!未定义书签。 分享页面详情 ................................................................. 10 图片喵口令(安装猫客) .............................. 错误!未定义书签。 回流页面详情 ............................................ 错误!未定义书签。 BETA测试需求 ........................................................................... 18

3

4 非功能需求 ........................................................................................... 19 上、下线需求 ........................................................................................ 19

4.1

4.2 上线需求 .................................................................................. 19 下线需求(活动类需求必填,其他需求可选) ...................................... 19 5

6 运营计划 .............................................................................................. 19 附件 ................................................................................................... 19

1 概述网络免费电话sdk。

1.2 产品概述及目标

将斑马车险的交易sdk输出到其他app上,提高斑马车险的行业影响力。。。

M800SDK使用手册:
篇四:网络免费电话sdk

M800SDK使用手册:

1.导入M800SDK

2.Add path to project

Library Search Path添加SDK路径

3.Add libraries to project

? libc++.dylib

? libresolv.dylib

? libstdc++.6.0.9.dylib

? libxml2.dylib

? libz.dylib

? libm800sdk-2.2.0.a

4.配置info.plist

. 1 M800DeveloperKey : your developer key (supplied by M800) . 2 M800ApplicationKey : your application key (supplied by M800)

. 3 M800ApplicationIdentifier : your application identifier (supplied

by M800)

. 4 M800ApplicationVersion : 1.0.0 (default value)

. 5 M800Capabilities : incoming, outgoing (default value) . 6 M800Expiration : 36000 (in second)

. 7 M800CarrierName : your carrier name (supplied by M800)

.

设置应用信息提供商:

. +(void)setApplicationInformationProvider:(id<M800ApplicationInfoProvider>)provider;

设置数字签名:

. +(void)setCapabilitiesSignatureProvider:(id<M800CapabilitiesSignatureProvider>)provider;

生产数字签名的例子:

//Generating Signature

+ (NSString*)genCapSigWithCapabilities:(NSString*)cap expires:(NSString*)expires

applicationSecret:(NSString*)applicationSecret

{

NSString * content = [NSStringstringWithFormat:@"%@%@", cap, expires];

const char *cKey = [applicationSecret

cStringUsingEncoding:NSUTF8StringEncoding];

const char *cData = [content

cStringUsingEncoding:NSUTF8StringEncoding];

unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];

CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);

NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH];

for (inti=0; i<CC_SHA256_DIGEST_LENGTH; i++) {

[outputappendFormat:@"%02x", cHMAC[i]];

}

return [NSStringstringWithString:output];

}

与我们的M800服务器进行通信,使用的方法在M800SDK+ Management.h 您可以使用下面的代码注册:

[[M800SDK sharedInstance]网络免费电话sdk。

signupWithSourceNetworkId:jiddisplayName:displayName language:M800LanguageEnglish

completeBlock:^(BOOL isSuccess, NSError *error) {

if (isSuccess)

{//Success

} else {

//Error

}];

服务器返回以下内容

[[M800SDK sharedInstance] bareJid];

[[M800SDK sharedInstance] prefixOfJid];

[[M800SDK sharedInstance] carrierName];

[[M800SDK sharedInstance] username];

得到它们。

用以下代码和服务器建立链接

[[M800SDK sharedInstance] connectWithCompleteBlock:^(BOOL isSuccess, NSError *error)

{ if (isSuccess){

//TODO do some things after successful connection. }

else if ([[M800SDK sharedInstance]

needKickUserWithError:error]){

//TODO Must kick current user out of app.

}

else {

//TODO do something when failed to connect. }}];

检查是否需要踢出用户(是否在新设备登录或者验证失败):

[[M800SDK sharedInstance] needKickUserWithError:^(NSError* error) {

//error handling

}];

验证,添加,移除身份信息:

// Validate a phone number if needs

[[M800SDK sharedInstance] validateNumber:@"12345678" country:@"hk" language:@"zh"

validType:@"SMS" complete:^(NSString *validateCode) { _validateCode = validateCode;

} error:^(NSError *error) {

}];

// Signup a phone number as additional identity with/without verification

[[M800SDK sharedInstance]

signupAdditionIdentityWithNumber:@"12345678"

country:@"hk"

validateCode:_validateCode

smsCode:smsCodeReceived

nonVerifiedMode:NO

passiveValidation:NO

completeBlock:nil];

// Remove an existing additional identity

[[M800SDK sharedInstance]

removeAdditionIdentityWithNumber:@"12345678" country:@"hk" completeBlock:nil];

文本功能在M800SDK+ IM.h中

发送内容给JID:

[[M800SDK sharedInstance] sendMessage:@"Content" to:@"JID"];

消息发送成功回调:

- (void) didMessageSend:(NSString*) msgId;

没发送成功(消息发送失败)

- (void) didMessageSendingFailed:(NSString*) msgId; 客户端收到消息:

- (void) didServerReceived:(NSString *) msgId;

服务器收到该消息,并返回信息,回调以下方法:

本文来源:http://www.myl5520.com/gerenjianli/118402.html

推荐内容