您的位置:首页 > 运维架构

Open IMS Client、Open IMS Core-----------跟着大牛学习!!!!!

2015-05-21 09:38 197 查看


(一)Open IMS Core

OpenIMSCore概要

OSIMS

The FOKUS Open Source IMS Core



Project's Homepage: www.openimscore.org

| CSCFs | | FHoSS |
| Contact |

It has to be noted that this Open Source IMS Core System is not intended to become or act as a product in a commercial context! Its sole purpose is to provide an IMS core reference implementation for
IMS technology testing and IMS application prototyping for research purposes, typically performed in IMS test-beds. This target has also motivated the decision to use open source software (i.e. SER based on GPL), which makes a product development quite unattractive.

Furthermore, users of the Open Source IMS Core System have to be aware that IMS technology may be subject of patents and license terms, as being specified within the various IMS-related IETF, ITU-T, ETSI, and 3GPP standards. Thus all Open Source IMS Core System
users have to take notice of this fact and have to agree to check out carefully before installing, using, and extending the Open Source IMS Core System, if related patents and licenses may become applicable to the intended usage context.

As IMS (IP Multimedia Subsystem) is today already in trial phases with more and more operators worldwide, R&D efforts with respect to NGNs are likely to gain even more support within a broader audience soon - especially for developing services. While there
are already many Open Source projects established in the plain VoIP area for SIP clients, proxies, stacks and tools around the IETF SIP standards, there are currently practically no Open Source projects with specific focus on the IMS.

The Open Source IMS Core project of the Fraunhofer Institute FOKUS aims to fill the currently existing IMS void in the Open Source software landscape with a flexible and extendable solution that has already proven its conformance and performance in several
national and international R&D projects. Its goal for the coming months is to create a developer community for Next Generation Network core elements within R&D and IMS interested parties. The idea for users of this Open Source software is to enable the development
of IMS services and the trial of concepts around core IMS elements that are based upon highly configurable and extendable software.



The Open Source IMS Core in the Open IMS Playground

The Open Source IMS Core consists of Call Session Control Functions (CSCFs), the central routing elements for any IMS signaling, and a Home Subscriber Server (HSS) to manage user profiles and associated routing rules. The central components of the Open Source
IMS Core project are the Open IMS CSCFs (Proxy,
Interrogating, and Serving) which were developed at FOKUS as extensions to the SIP
Express Router (SER) in recent months and successfully tested for interoperability with commercial IMS products in the Open
IMS Playground. But since even basic signaling routing functionality for IMS requires information look-up in a HSS, normal usage of such a core IMS network is not possible without it, therefore a simple HSS, the FOKUS
Home Subscriber Server (FHoSS) is also part of the Open Source IMS Core project.

The Open Source IMS Core project will provide a 3GPP IMS Service Control (ISC) interface to developers allowing them to make use of IMS routing features, application of IMS triggering rules and other IMS related features. It enables the application layer development
of IMS services for various platforms, be it for SIP Application Servers, an OSA/Parlay resp. Parlay X Gateway or even an IN service (connected to the IMS via an IMS Service Switching Function). But also towards the access network layer, the Open Source IMS
Core enables the development of components and concepts that come with the attachment of various access networks to the overlay architecture IMS.

The Open Source IMS Core project of the Fraunhofer Institute FOKUS was officially launched on November 16, 2006 in conjunction with the 2nd
International FOKUS IMS Workshop as an Open Source initiative which will be hosted on the BerliOS platform
atwww.openimscore.org.

Here you may subscribe as well
as unsubscribe for receiving
upcoming Newsletters around the Open Source IMS Core project.

The licensing model for the core components will be:

Open IMS CSCFs : GNU General Public License v.2

FOKUS Home Subscriber Server (FHoSS): GNU General Public
License v.2

|
top |



Open IMS Call Session Control Functions - CSCFs

Even though IMS builds upon IETF specifications like the SIP standard, the SIP protocol requires certain extensions for being used in an IMS environment. The primary requirement for the Open IMS Core project therefore was to provide a set of IMS compliant core
components that will enable the development of the other layers around them. The main goal currently is to obtain compliant CSCFs to the functionality required by 3GPP in for its Release 6 specifications.

The Open IMS CSCFs are built upon the SIP Express Router (SER)
which can act as SIP registrar, proxy or redirect server and is capable of handling many thousands of calls per second. It has a modular structure that permits to make functionality additions. Each CSCF entity of the Open IMS Core is implemented as a SER dynamically
loadable module that adds the required operations to the SER so that it can act according to the specific 3GPP technical specifications. The modules are capable of parallel processing and can keep supplementary state information. There is a special focus towards
scalability for both load distribution and data quantity.

Another requirement to the CSCFs was to maintain as much as possible SER’s performance. As SER obtained a wide adoption in the SIP world, becoming almost a standard for performance, it can be safely assumed that the Open IMS CSCFs, sharing such a large base
with SIP routers, would have similar performance standards. The Open Source IMS Core maintains SER’s user scripting facilities, which enables full flexibility in exploitation. The IMS features are to be exported but their orchestration had to be easily configurable.



Proxy CSCF

In the current implementation of the Open Source IMS Core, the P-CSCF component is able to firewall the core network at the application level: only registered endpoints are allowed to insert messages inside the IMS network and the P-CSCF asserts the identity
of the users. For this, upon registration, the P-CSCF establishes secured channels individually for each User Endpoint (UE) that it services. To keep track of the registered users, it has an internal reversed-registrar that is updated by intercepting the registration
process and later by subscribing in User Agent Client (UAC) mode to the registration package at the S-CSCF and receiving notifications. The actual data is kept in a hash-table to allow fast retrieval.

For originating call signaling it generates unique charging vectors and inserts network and path identifiers that are needed for the correct further processing of the SIP messages. UE forged information that might lead to an attack is removed and/or corrected.
After a successful registration process to an IMS home network, subsequent user messages are forwarded based on DNS information towards the requested IMS home network. Regarding NAT issues for the SIP signaling, in the outgoing direction, towards the user
endpoints, it can act as a router by simply being active in both networks. Also, NAT traversal modules were adapted for the specific user location storage mechanisms.

Features of the Open Source IMS P-CSCF:

signaling firewall and user identity assertion (P-Preferred-Identity, P-Asserted-Identity header support)

local registrar synchronization through "reg" event RFC 3680

Path header support

Service-Route verification/enforcement

Dialog statefulness and Record-Route verification/enforcement

IPSec set-up using CK and IK from AKA

Integrity-protection for authentication

Security-Client, Security-Server, Security-Verify header support

basic P-Charging-Vector support

Visited-Network-ID header support

NAT support for signaling

NAT support for media through RTPProxy



Interrogating CSCF

The Interrogating-CSCF (I-CSCF) has the role of a stateless proxy that, by using the indicated public identities of the caller or the callee, queries the Home Subscriber Server (HSS) and based on responses routes the message to the correct S-CSCF. It implements
the Cx interface [1] of an
I-CSCF to the HSS. Therefore
it supports the required Diameter commands to locate the user-assigned S-CSCF or to select, based on capabilities, a new S-CSCF and check identities, roaming authorizations as specified in 3GPP TS 29.228.

After receiving a successful answer for the Diameter query the I-CSCF forwards the SIP messages in a transactional mode. It is optimized for speed and minimalist state information is kept in it. To protect the home network, it has a firewalling capacity that
only allows signaling messages coming from trusted networks through Network Domain Security (NDS).

Features of the Open Source IMS I-CSCF:

full Cx interface support (LIR, UAR)

S-CSCF selection based on user capabilities

Serial forking for forwarding to S-CSCF

Visited-Network-ID header support and roaming permission verification

Topology Hiding (THIG)

Network Domain Security (NDS)



Serving CSCF

The S-CSCF implementation also communicates with the HSS using Diameter (over the Cx interface) to retrieve authentication vectors, update registration information and download the user profiles as specified in [1].
The S-CSCF can apply the user profile based initial Filter Criteria (iFC) to enforce specific SIP routing rules. It implements support for carrying out the IMS Digest AKA version 1 [2].
Rather than generating authentication vectors it relies on the HSS for this task and compares these values to the ones calculated in the UE.

For fast response times with minimal locking, the registrar of the S-CSCF has a complex structure based on hash-tables. The information that is required to relate a user identity to a physical UE is stored here and used further on for call routing. It also
accepts subscriptions to registration state events and notifies the subscribers about changes in the registrar.

Features of the Open Source IMS S-CSCF :

full Cx interface support (MAR, SAR, PPR, RTR)

Authentication through AKAv1-MD5, AKAv2-MD5 and MD5

Service-Route header support

Path header support

P-Asserted-Identity header support

Visited-Network-ID header support

Download of Service-Profile from HSS

Initial Filter Criteria triggering

ISC interface routing towards Application Servers

"reg" event server with access restrictions

Dialog statefulness

[1]3GPP TS 29.228 ”IP
Multimedia (IM) Subsystem Cx and Dx interfaces; Signaling flows and message contents”; (Release 6)
[2]A. Niemi, J. Arkko, V. Torvinen ”Hypertext Transfer Protocol (HTTP) Digest Authentication Using Authentication and Key Agreement (AKA)”, RFC3310,
September 2002
|
top |



FOKUS Home Subscriber Server (FHoSS)

The Open Source IMS Core would be incomplete without a Home Subscriber Server. FOKUS developed an own prototype HSS, the FOKUS HSS (FHoSS) which is entirely written in Java and based upon Open Source software. The user data is kept inside a MySQL database.
As its purpose in the Open Source IMS Core is that of a database, the FHoSS is targeted mainly towards conformance rather than performance. It is mostly a configurator for the Database Management System and the Diameter interfaces with the CSCFs and IMS application
layer.



FOKUS Home Subscriber Server

Protocol checks and Diameter command logic are implemented in the FHoSS based upon FOKUS own Java based Diameter stack. The FHoSS allows the generation of authentication vectors and it provides a HTTP-based management interface for easy management of user profiles
and associated iFCs.



FHoSS User Profile



FHoSS Trigger Point

Features of the HSS:

support for the 3GPP Cx Diameter application

support for the 3GPP Sh Diameter application

support for the 3GPP Zh Diameter application

integrated simple AuC functionality

Java Diameter Stack implementation

web-based management console


(二)OpenIC:Open IMS Client

The FOKUS Open IMS Client



From all the IMS components, the User Equipment (UE) is a critical entity for the overall success in the IMS value chain. The UE acts as a multi-application environment to demonstrate value added services available on the IMS network.



The OpenIC in the Open IMS Playground

Open IMS Client

The Open IMS Client (OpenIC) is work in progress towards a robust IMS client with diverse services for Fixed Mobile convergence. OpenIC consists of a framework which offers a programmable interface for development of various IMS applications.

"Open" in this sense means extendible and should not be confused with "Open Source".

The solutions delivered by the framework align with IETF, 3GPP and TISPAN client specifications. The client is available in java and in .NET and it can easily be deployed across devices. Furthermore, OpenIC runs on multiple platforms (Windows Mobile, Linux
and Windows XP).

Open IMS Client Framework

The OpenIC Framework offers a set of reusable components that provide a programmable API for developing various IMS applications and services. The framework consists of an IMS Engine layer and an application layer.



Open IMS Client Framework

Customizable User Interface

The User Interface represents the presentation layer. It offers the user access to all the underlying services and hides the complexity of the underlying architecture and services.

Service Layer

The Service Layer consists of different service modules. New services can be developed and integrated into this layer. This offers the application robustness and extensibility against future changes.

The services on the service layer consist of:

VoIP: it is used to develop IMS compliant SIP applications that are compliant with IETF and 3GPP and TISPAN IMS standards. It provides a low level API for full control over SIP communication between the client and IMS.

Presence: enables functionalities to manage the presence information of the UE and associated contacts.

Registration: hides the complexity of IMS registration process with a simple click-to-register. It also manages the registration state for re-registration and handles “reg” event notifications.

Event Package: enables support for various event packages and provides generic API handlers for handling event based services on the IMS network.

Messaging: enables sending and receiving of instant messages to and from a contact. Instant messaging is supported in both page-mode and session mode.

Contact List Management: implements procedures for retrieving, updating and storing address book contacts data through XCAP and XML. The address book is stored based on the vCard format known from email applications.

Content Sharing: manages file sharing between the UE and another client through MSRP (Message Session Relay Protocol).

IMS Engine Layer

The IMS Engine layer provides the different building blocks upon which the service modules are built. This represents the lowest layer and it is developed based on
enterprise and open standards.

Extended SIP Stack: it is used to develop IMS compliant SIP applications that are compliant with IETF and 3GPP and TISPAN IMS standards. It provides a low level API for full control over SIP communication between the client and IMS.

Media Manager Framework: it provides a low-level API for full control over real-time audio/video data transport between the client and an IMS entity or another UE. Support audio Codec selection – G.711 u-Law/ a-Law, GSM610, Video Codec selection – H.263

MSRP Stack: it provides a low-level API for full control over real-time text data transport between the client and another UE.

HTTP API: provides low level HTTP connection between high-level applications and IMS entity.

Feature List

OpenIC provides a set of basic and advanced features. The feature list will be updated as new features are added on the client.



OpenIC Feature List

Registration

The first thing an IMS client does when it logs onto an IMS network is to send a REGISTER request to its home network. Mutual authentication on the IMS network is based on a shared secret between the IP Multimedia Service Identity module (ISIM) and the HSS
in the network.

OpenIC supports two authentication and authorization mechanisms namely:

Digest AKA Authentication : is a challenge-response based mechanism that uses symmetric cryptography that performs user authentication and session key distribution in IMS networks (RFC 3310)

Digest MD5 Authentication: is based on a simple challenge-response paradigm. The Digest scheme challenges using a nonce value (RFC2617)



Application Features


Audio session:

Redial – redial the last caller from the dial history list

Call Transfer – transfers the ongoing call to another resource (e.g. another sip address)

Audio Conference – establish an audio session conference with one or more participants. This feature is enabled only with support from the application server

Automatic presence update – when user is on call, the user’s presence information is automatically published to “Busy”

Pop up notification on incoming call, enabling the user to choose how to manage the call by either accepting or rejecting.

Dual-Tone-Multi-Frequency enabled digits on Dialer panel

Video session:

Support for audio and video session. This feature is available only for the PC version.

Messaging Session:

This involves sending and receiving of instant messaging to and from a contact in the address book. OpenIC offers both standalone page-mode based and session based (chat) messaging. The client uses SIP MESSAGE for page-mode, while the latest standard Message
Session Relay Protocol (MSRP) is used for chat.

Presence:

OpenIC provides an API to manage presence information for the user endpoint and its associated contacts. Users can publish their preferred presence status and see the status of friends from their phone book. For this service, the client offers SIP event package
handlers to provide support for the various event packages. Support for SIP/SIMPLE-based instant messaging. Centralized based server support (presence agent).

Branding

A brand is a customer experience represented by a collection of images and ideas. This may include company name, logo, slogan, and design scheme. We offer the possibility for private labels and co-branding.

Private Label – fully customized user interface

Co-Brand – customized user interface powered by Fraunhofer FOKUS

Benefits

An underlying IMS API Engine

flexibility for branding and customization

availability for multiple platforms (windows mobile, PC)

support for hybrid applications – native and java

easily portable across other devices

aligns to open standards (IEFT, 3GPP, TISPAN)

|top|

OpenIC Lite

The Open IMS Client Lite is the free IMS based soft phone available for download. Based on the advanced architecture of OpenIC, OpenIC Lite is designed to highlight some of the rich features available with our commercial IMS client.

"Open" in this sense means extendible and should not be confused with "Open Source".



OpenIC Lite

Supported Features

AKA, MD5 authentication

Session Initiated Protocol (SIP) based signaling for all media sessions

Instant Message

Audio Call

Active Address book

ISIM (IP multimedia Services Identity Module) profile simulation

Call history list management

|top|

Operating Requirements



Pocket PC PC
MinimumOptimalMinimumOptimal

Processor400 MHzPentium 2

400 MHz

Pentium 4

1,6 GHz

Memory64 MB RAM

128 MB RAM

128 MB RAM

Hard Disk

Space

10 MB

15 MB

30 MB

Operating

System

Windows Mobile

Windows XP

Linux

Connection

IP Network connection

(WLAN, UMTS)

IP Network connection

(Broadband, LAN, wireless)
Sound

Adapter

Full-duplex, 16-bit

Software

IBM J9, .NET Framework

JRE 5+, .NET Framework

|top|

Demo on Windows Mobile

The demo runs on a HTC device with Windows Mobile 5.

For demonstrating some of the features of the OpenIC - such as audio call and instant messaging - please click on the device screenshot below.







|top|



Download



Download OpenIC_Lite FREE!

Below is a list of the available Installers for the different platforms and a general user's guide for installing, configuring and using the client.


OpenIC_Lite
v1.0 for Windows (6971 KB)


OpenIC_Lite
v1.0 for Windows Mobile (6198 KB)


OpenIC_Lite
v1.0 for Linux (5831 KB)

The quick start guide and user's guide (PDF, 1730 KB) can be found here.

(三)


一个人可以用Open IMS Core做什么呢

来自大牛的机密:http://blog.sina.com.cn/s/blog_51396f890102dxh3.html

一个人可以用Open IMS Core做什么呢

一个人可以用Open IMS Core做什么呢是?这么说吧,我就在开发这个东东的研究所工作。SER也是我们开发的,SIP发明者之一也在这里工作过。我是负责应用服务器的,刚刚辞了工作,打算海归,目前在家待业。我告诉你一下,我现在在家想作什么吧,嘻嘻

1 首先架设好OSIMS Core

2 将一些开源的IMS部件整合进去,例如Presence,XDMS,AS(Sailfin和SIP Servlet,JSLEE),Media Server等等。如果没有的话,也可以自己开发简单的Prototype。例如Presence Server,用SIP Servlet编的话,两三天就够了。这样就实现了一个基本IMS Testbed。

2.5 现在Weblog所有产品也都免费应用可,总之可以干很多整合的。

3 然后可以试一试和其他VOIP系统互联互通,例如Astrix。还可以尝试多个核心网直接Roaming等等。可以尝试一下和现在的各种IP PBX产品进行互联互通,设计一下转换的Gateway。

4 利用2和3,可以自己开发一些简单的IMS基本服务了,例如PTT,IPTV,IVR,Call Center等等,这些都有OMA或者3GPP有相关标准了。

5 然后可以自己开发OSS BSS系统,例如OSS/J,这又一大堆东西可以做。On line, Off line charging System。

6 没事的话,可以尝试把OSIMSCore升级到TISPAN 1.0,或者开发出一个PSTN Emulation System,也不难的。

下面就是比较有趣的东西,可以做

7 然后可以以AS为基础,实现Parlay X GW,这个也不难,3PC,Presence等等。

8 可以将Sailfin整合进JBOSS里面,等于就是把J2EE和Web世界那一整套的东西全部搬过来了,哈哈,怎么会没有东西做呢,Mush UP!

9 加上Enterprise Service Bus,就是现在最热门的Internet Telecom SOA Service Delivery Platform。用Active BEPL作为BPM,自己设计Policy Management Engine (Rule Machine)。

Active Bepl也有GUI来作为Service Creation Environment,实现快速新的服务。用UDDI作为Service Repository。当然你还可以实现整套的OSS系统,Service Provisioning等等,很多东西。

10 因为是Internet J2EE这样,实际上和底层通讯已经不是很有关系了,你可以把很多现在最热门的东西也整合进来,Google的那些东东

11 还有另外一个方面是Identity,如何实现SIP和WEB多Protocol的Single Sign on呢。例如Open ID,General Bootstrapping Architecture。

有了SDP,完全基于web Service,就可以进行一些Mush up的应用开发了。低级的方式用Parlay X,高级的方式有SDP。

12 将家用基站整合进OPEN IMS Core,加上IPTV,是不是可以在家实现FMC和4P?自己可以搞出VCC等等多种服务。

13 可以在现在所有的网站上搞一些Mush up了!做个网站,将Google Map这些Location Service搞进来,然后用Parlay X的Presence, Location,Address List Management等等全加进来。然后把这些嵌入各种SSN Facebook之类的,是不是很有趣?总之现在一切在J2EE,SOA世界里面有的东西都可以拿来 Mush,AJAX,Google,Ebay,Amazon,LinkedIn,iTune,云计算等等等等,一切Internet里面的服务都可以整合
起来,贴上SOA的标签。

14 将SAP,Oracle,金蝶等等的企业管理,电子商务,电子政务,ERP等等软件平台也整合起来,然后卖所以通讯导向的管理这种概念。因为人类社会的组织形式就是通讯的形式,理论上所有企业zf的流程,可以用通讯来串起来。

14 当然还有终端方面,这是大有可为的!Symbian,Adroid还有最HOT的iPhone!现在IMS和支持高级Mushup功能的终端还没有统一标 准,开发出一个就可以拿风投了。如果能将IMS Client,浏览器,Web Service Adaptor等等全部整合在一起,就很暴力了。现在Adobe Flash也要到有VOIP终端的功能,也可以Mush搞进去。iPhone的终端可以放到Apple Store去卖。你就是未来的Steve Jobs,bill gates,Bell。

有了上面的基础建设,

1 把上面所有全部在家里架好,然后去中关村买个写SIM卡的机器,想法弄个FTTH,就可以自己当运营商了。然后去中国移动,电信等等地方,请求和对方合作。

2 去Accenture,IBM,HP这些地方,请求当个集成的Consultant。

3 去华为,中兴,请求当民工。

4 自己创业,骗骗风投。

上面的所有东西,我自己基本都或多或少做过一些。我目前快待业了,就打算自己在家架个NGN。争取全部装到一个笔记本里面,然后每次找工的时候就配合PPT当面给人家演示一把。我8月起在北京当海带,如果哪位知道什么地方缺人,不妨推荐一下,必有重谢啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: