Archive for the ‘Adobe Labs’ Category

Flash Player 11 Incubator Program (Flash Player 11 孵化器计划)

Did you see the news yesterday? Flash Player 11 which includes the Molehill 3D apis, is now available to the general public as part of Adobe’s new incubator program. Get Flash Player 11 here now!.

你是否看了昨天的新闻(抱歉,我才看到,所以昨天应该就是2011.2.27)?包含Molehill 3D  api的Flash Player 11现在可以作为Adobe 新的孵化器计划的公开部分下载。Get Flash Player 11 here now!.

Then experience it within the links below:下面是一些它的表现例子

3D Racer

3D MAX Racer Game

Zombie Tycoon

Zombie Tycoon Game.

Shallow Water Demo

Away3D Shallow Water Demo

Quake 3 demo

Quake 3 demo

What is the incubator program? Here are some FAQ’s from Adobe.  //什么是孵化计划?这里是来自 Adobe的关于此孵化器计划的答疑。

FAQ: Adobe® AIR® and Flash® Player Incubator // 常见问题:关于Adobe® AIR® 和 Flash® Player 孵化器

1. What is the Adobe AIR and Flash Player Incubator? //什么是关于Adobe® AIR® 和 Flash® Player 孵化器?
The Adobe AIR and Flash Player Incubator is a place for our runtimes product teams to share new features that are either under development or under consideration for inclusion in future versions of the runtimes. Unlike our beta releases, capabilities that you see in the Incubator builds may or may not be supported in future releases of the runtimes.

关于Adobe® AIR® 和 Flash® Player 孵化器 是一个我们运行环境团队用于展示未来有可能会考虑添加的功能的地方,这不同于测试版本,因为现在我们添加的功能,在未来的运行环境中未必会加入

2. Who is this Incubator program for?  //孵化器计划针对谁?
This program is especially suitable for more adventurous developers who are willing to experiment with software features in early development stages and may or may not be included in future product releases.

这一方案是专为那些具有冒险精神的开发者,这些开发者将这些功能用于早期开发阶段的实验,可能不会在未来的产品版本中包含。

 

3. Why does Adobe have an Incubator program? //为什么Adobe要有这样一个计划
Adobe’s product development philosophy is to engage in an open exchange and involve our community of passionate developers in early stages of the development cycle. Your feedback is critical to our on-going innovation efforts for the Flash Platform.

Adobe的产品开发理念需要在开发周期的早期阶段进行公开交流,我们社区热情的开发人员,您的反馈意见对于我们正在进行的Flash平台创新有很大帮助和影响。

4. What’s the difference between the Incubator program and the beta program? //孵化计划与测试计划有什么不同
While the goals of both programs are similar — get early feedback from the developer community, the key differences include:

大的方面来说它们类似-都需要开发者的反馈意见,关键的不同点在于:

– The Incubator program allows us to get a community of developers involved in a much earlier development stage than what we do in the beta program.

-孵化计划让我们在早期的开发阶段就与我们社区开发者进行交流,而不是在测试阶段。
– The Incubator program will be focused on a collection of new features that may or may not make into any future releases, where as the beta program allows developers to experience and evaluate an upcoming release that has reached the feature-complete stage.

-孵化计划的重点放在一些新功能是否适合加入到将来的正式版本,而测试计划仅仅允许开发者体验新功能。

5. What should I expect from the Incubator program? //我应该对孵化计划有什么期待
We plan to release new Flash Player or AIR Incubator builds on a regular basis. To get updates on new builds and features, please subscribe to the RSS feed on Adobe runtimes release blog. These are early builds of AIR or Flash Player and may not be as stable as a final release. However, the current released features should still work as expected. Please file bugs for new features highlighted in the Incubator and new bugs for current released features. The availability of AIR and Flash Player and supported OS and platforms may vary on the downloads page between updates to this program.

我们计划定期推出新的Flash Player或AIR孵化器。要获取新版本和功能,请订阅及更新在Adobe的运行时版本博客的RSS。这是早期版本的AIR或Flash Player,不会想最终版本那么稳定。然而,目前发布的功能仍然正常工作。请在提交的时候标明孵化器的BUG,以及当前发布的功能的新功能的bug。AIR和Flash Player的可用性和支持的操作系统都会在下载页面做更新。

6. Why should I participate in the Incubator program?//为什么我要参与孵化计划
The Incubator program provides you the opportunity to get an early look at what our engineers are developing for two of the most ubiquitous runtime technologies in the world. By being an active participant in the program, you’ll be able to influence the future of the leading runtime technologies with the Adobe engineering team.

孵化器计划提供您有机会获得我们最早期的技术资料。通过在计划中的积极参与,您将能够影响和改变Adobe的工程团队关于runtime技术的未来。

7. Who will read my comments and answer my questions?//有人读我的意见和回答我的问题吗?
Your feedback is very important to us. Your comments and questions will be read and answered by Adobe engineers who are responsible for these features.

你的反馈对于我们是非常重要的。你的意见和问题,将会被我们负责未来发展的工程师阅读和回复。

8. What will happen to these features?//未来将会发生什么?
These features are under development or under consideration for future releases. Depending on the feedback we get from the community, some of these features will be incorporated into future releases of the runtimes.

这些功能正在开发或正在考虑放到将来的版本中。根据我们从社会得到的反馈,其中的一些功能将被纳入未来版本的运行时。

9. I have ideas for new features, who do I talk to? //我有一个好点子,我跟谁说?
We welcome new ideas from the community. Please submit your ideas to us athttp://bugs.adobe.com/flashplayer/

我们欢迎新来自社区的新点子。请发布你的点子到我们的http://bugs.adobe.com/flashplayer/

Advertisements

Flash 多媒体网关发布

Flash 多媒体网关(FMG)是一个新的实时服务器平台,可使用Adobe ® Flash ®和Adobe AIR的®应用与传统的SIP通信设备通信。

Flash Media Gateway (FMG) is a new real-time server platform that enables Adobe® Flash® and Adobe AIR® applications to connect with traditional communication devices via SIP.

 

会话起始协议SIP3GIP多媒体子系统中提供多媒体业务的核心技术。文章首先介绍了SIP的基本工作原理,然后对3GPPUMTSR5定义的IMS进行了简要描述,最后详细阐述了SIP在IMS提供服务的过程及对漫游用户的处理。

会话起始协议(sessioniniTIationprotocol)是由IETF定义的一个基于IP网络中实现实时通信应用的一种信令控制协议。 3GPP定义了IP多媒体子系统(IPMultimedia Subsystem:IMS)的网络架构,并基于SIP来承载各种多媒体业务(VoIP流媒体,网络游戏等)。

一、SIP协议简介

会话起始协议SIP(SessionInitiationProtocol)被描述用来生成,修改和终结一个或多个参与者之间的会话,是由IETF于 1999年提出的一个基于IP网络中实现实时通信应用的一种信令控制协议。它打破了传统电信业务的传输模式,采用基于因特网的准则,将蜂窝系统与因特网应用融合在一起提供基于IP的多媒体业务,具有开放性,可扩展性,安全性的特点。3GPP

已将SIP作为第三代移动通信系统多媒体域的控制协议。

经常出现这种情况,一个用户在多个位置之间移动,如一个公司职员,可能处在公司,家里或是咖啡厅等位置。为了给用户提供方便的移动性,SIP使用统一资源定位符URI(UniformResourceIdentifier)来表示用户。通常由一个域名加上用户名组成,例如SIP:John@ eastcom.com,类似于电子邮件地址。SIP URI只是用来唯一标示用户的逻辑标记符,用户注册时它将与用户的IP地址绑定并记录到定位服务器

在SIP中,系统采用了因特网常用的客户机/服务器结构,由用户代理和服务器两大部分组成。其中用户代理又分为用户代理客户(UAC: UserAgentClient)和用户代理服务器(UAS:UserAgent Server)两种。UAC用来发起会话请求,UAS用来接受并响应会话请求。这两者只是逻辑上的功能,实际上网络终端应同时具备这两种功能,既能发起会话,又能接受、相应会话。服务器分为代理服务器(Proxy Server)、重定向服务器(Redirected Server)和注册服务器(Registrar)。

图1 SIP的网络体系结构

图1描述了SIP的基本网络体系结构。用户接入网络后首先要向注册服务器注册,注册信息写入定位服务器中(定向服务器不属于SIP网元,只是一个数据库)。当用户代理客户UAC要发起呼叫时,它一般将呼叫请求消息发送给本域的出向代理服务器。媒体描述信息以SDP (SessionDescriptionProtocol)的形式在SIP消息体中被封装并发送出去。代理服务器检查被叫地址,将请求转发(可能经过多个中间代理服务器的转发),直至到达被叫域的代理服务器。被叫域的代理服务器通过查询定位服务器确定被叫的确切位置,然后将请求转发给被叫用户代理服务器 UAS。被叫UAS收到请求后,生成响应消息。响应消息将按照请求消息经过的路径,原路返回到主叫UAC。主叫UAC根据响应消息的内容选择是建立呼叫、重新发起呼叫或取消该呼叫。如果被叫没有在归属地,主叫将通过重定位服务器重新定位被叫的位置,然后发起请求。

SIP有两种类型的消息:

(1)请求:从客户机发到服务器的消息。SIP核心规范定义了6种SIP请求:

INVITE—邀请用户加入呼叫。

BYE—终止两个用户之间的呼叫。

OPTIONS—请求关于服务器能力的信息。

ACK—确认客户机已经收到对INVITE的最终响应。

REGISTER—提供地址解析的映射,让服务器知道其他用户的位置。

INFO—用于会话中信令。

(2)应答:从服务器发到客户机的消息,当服务器收到请求时,它就发出一个或多个应答。每个应答都有一个代表事务状态的状态码(100-699的整数)。下面是常用的几种应答及它们的状态码:

trying(100)—正在尝试

ringing(180)—正在振铃

sessionprogress(183)—会话进行

OK(200)—好

二、3GPP R5中IMS的基本结构

根据3GPP的定义,3G网络被划分为3个域:电路交换域、分组交换域、IP多媒体域(如图2)。

图2 3GPP R5基本结构

电路交换域与现有的2G网络类似,采用电路交换技术提供话音业务。分组交换域是2.5G网络中引入的,主要网元设备有SGSN (ServiceGPRSSwitchNode)和GGSN(Gateway GPRS Switch Node)。它们负责向终端提供IP连接,用户通过该域进入因特网,用户可以由此发送邮件,浏览网页。它并没有在IP之上定义任何特殊的体系结构,它主要是一种接入技术。IP多媒体域(即IMS,IP MulTImedia Subsystem)是3GPP制定的UMTS R5版本中引入的,采用SIP作为主要的信令协议,使得移动运营商可以为用户提供端到端的全IP的多媒体业务。

IMS由呼叫状态控制功能CSCF(CallSessionControlFunction)、媒体网关控制功能MGCF(Media Gateway Control Function)、媒体网关MGW(Media Gateway)、归属地用户服务器H

SS(Home Subscriber Server)等功能实体组成。CSCF的种类包括P-CSCF(Proxy-CACF,代理CSCF)、I-CSCF(Interrogating CSCF,查询CSCF)和S-CSCF(Serving CSCF,服务CSCF),本质上它们都是SIP服务器,处理SIP信令。

●P-CSCF是UE联系IMS的第一步,是UE在被访问域(漫游时)首先要访问的点,进出的SIP消息都要通过P-CSCF。P-CSCF相当于SIP协议定义的边界代理服务器。

●I-CSCF的功能是提供到归属网络的入口,将归属网络的拓扑图对其它网络隐藏起来,并通过HSS为特定用户找出相应的S-CSCF。它是用户终端漫游或者外来任务进入本地服务提供商网络中的联系点。当I-CSCF接到一个请求时,它将把请求路由到相应的S-CSCF。

●S-CSCF给用户提供服务。当终端注册时,它同本地域的S-CSCF联系,本地S-CSCF向用户提供用户预定的服务。这样的好处是用户即使漫游到不支持某项业务的网络也能像在本地一样得到需要的服务。

HSS(HomeSubscriberServer)相当于2G网络中的HLR,存储了与一个单独用户相关的S-CSCF和相应的用户简介。因此它知道用户现在的位置和用户指定的服务。CSCF可以向HSS询问以获得这些信息。HSS和CSCF之间交互用的是Cx接口,它不是IETF制定的,当也是基于 IP的。

三、用户SIP注册

用户在发起一次会话之前必须先完成SIP服务注册。UE(UserEquipment)将告诉HSS它现在的位置,HSS更新相应用户的信息;注册前要进行验证,HSS根据用户信息和操作限制检查该用户是否可以注册;在服务注册中,本地域还要为UE选择一个S-CSCF,并把用户信息发往S-CSCF。这个过程是在应用层完成的,所以注册前要建立信令链路。因此,首先要建立UE到SGSN和SGSN到GGSN的链路。这条链路建立以后,用户就可以注册了。

如图3,描述了一个用户在3G网络中注册的全部过程。注册之后,系统会给用户分配一个S-CSCF,由这个S-CSCF来负责向用户提供服务。首先,用户从UE发送一个注册请求给所在地P-CSCF。P-CSCF是UE和网络之间的联系点。P-CSCF向用户归属地I-CSCF转发该注册请求。归属地I- CSCF向HSS咨询,I-CSCF根据从HSS得来的有关该用户的信息给用户选择一个S-CSCF。因此,原来的注册请求就可以交由这个S-CSCF处理。一旦收到请求,S-CSCF就从HSS下载用户的信息,该信息告诉S-CSCF用户预定了哪些服务。最终,它发出一个约定的应答信号。

图3 用户注册的信令流

四、在漫游用户间的会话

一旦UE注册到一个S-CSCF,语音和多媒体呼叫就可以建立了。两用户之间建立链路的过程实际上就是穿越各个CSCF的过程。总的来说是按照“主叫用户 ◇主叫所在地P-CSCF◇主叫归属地S-CSCF◇被叫归属地S-CSCF ◇被叫所在地P-CSCF ◇被叫用户”的路线。

用户访问地的SIPCSCF服务器是不会处理用户业务的,它只起到了接入网络、转发信息的作用,给用户提供业务服务以及用户接入其他网络(例如PSTN)都要依靠归属地的S-CSCF。用户进入网络时首先到访问地的P-CSCF登记,告诉P-CSCF自己的归属地在哪里,就犹如外地人口到来先到访问地公安局登记领取暂住证,并登记自己是谁,户口所在地等信息。接着通过访问地P-CSCF告诉归属地的S-CSCF自己的位置并更新HSS中的位置信息。当用户发出会话请求时,访问地P-CSCF将请求发往用户归属地交由S-CSCF处理,同样的,当有发往用户的会话请求时,请求先到达归属地,归属地找到用户的位置后再通过用户访问地P-CSCF与用户取得联系,建立链路。

如图4所示是最普通的两个漫游用户的会话建立过程。一个完整的IMS呼叫分为会话邀请、资源预留、会话提供、会话连接、会话终止五个阶段。

图4 两个漫游用户会话的SIP信令交换

呼叫的过程如下:

(1)会话邀请

A向P-CSCF发送一个INVITE请求消息。该消息中有B和A的SIPURI。P-CSCF注意到A不属于本地用户并向A的归属地转发该INVITE 消息并返回100trying临时应答A(表示已经发送A的请求,正在尝试建立链路,A需要等待)。A的本地域I-CSCF向HSS查询,并向A注册时分配的S-CSCF转发INVITE并返回100trying给外地P-CSCF。S-CSCF收到请求后将INVITE转发给被叫B的本地域并返回 100trying给I-CSCF。同样,B归属地的I-CSCF

接到请求后向HSS查询并将请求转发到B的归属地S-CSCF,该S-CSCF发现B正处在外地网络中,于是将INVITE转发到B目前所在地的P-CSCF,接着P-CSCF将请求最后传给B。

(2)资源预留

B接受了这个会话请求,但此时他不回铃通知A,他返回183sessionprocess应答表示他接受该会话,同时要求A对此表示确定,这个应答通过各个CSCF传给A。同时B激活一个GPRSPDP上下文,它被用来通过IMS的IP接入点来建立语音通道。

A收到183应答后,同样激活一个PDP上下文并通过CSCF建立的通道发送一个COMET消息给B,该消息含有A的语音通道的地址细节,并起确认作用。

(3)会话提供和会话连接

当接到COMET,B知道传送语音的IP通道和服务质量参数已经被双方预留,并且知道了语音通道的地址,因此B返回200OK确认消息。该消息包含了B的语音通道的地址细节。

A接到确认后,给B一个180振铃信息,B听到振铃即给A一个200OK消息,最后A给B发送ACK确认信息,到此通信链路建立完成,接下来A和B可以进行通话了。

(4)会话终止

为了终止会话,A发送一个BYE消息给B。同时A撤销他的PDP上下文。

B接到BYE消息后,它会撤消自己的PDP上下文,并返回一个200OK应答给A是房改呼叫使用的所有CSCF。

五、结束语

SIP协议是一个简单、灵活的协议,具有很强的包容性,在保持其核心协议简捷的基础上建立了强大的扩充机制,所以利用SIP技术可以很容易的实现大量应用。我们可以毫无疑问,基于SIP的3GIMS将会给广大用户带来更快捷、更丰富、更灵活的通信体验。