Linkbit IMS Master Advanced IMS simulation tool The IP Multimedia Subsystem (IMS) is the next generation architecture which will enable fixed/mobile convergence in all-ip network. Linkbit IMS Master is a powerful test tool that enables rapid development of tests for IMS infrastructure and applications. It is installed on a standard PC and is based on Linkbit Simulation Studio, Linkbit's own simulation Integrated Development Environment. IMS Master can test both client and server components of IMS applications. It includes a wizard to graphically build SIP messages and a tool to automatically generate test sequences. Test code are auto-generated in one of five industry standard scripting languages. Creating packets with erroneous headers, sending messages out of stack order, and even implementing complete test suites is easy with the tools included in IMS Master. Novices will be surprised at the simplicity afforded by the studio's helpful tools and experts will marvel at the flexibility and power of testing in their favorite scripting language. Key Features IDE with advanced debugging capabilities Scripting with VBasic, Jscript, Perl, Python, PHP Test source code can be directly edited Auto-build syntactically correct messages Auto-build Send/Receive/Wait test sequences Incoming IP packets are pre-parsed Support for any header/data corruption Trace logs can be edited and replayed Ethereal logs can be imported and replayed Tests can run from a batch file Key Applications R&D testing Regression testing Conformance testing Functional testing Interoperability testing Terminal simulation Server simulation IMS Core simulation Linkbit IMS Master allows to build Send/Receive/Wait sequences with a series of point and clicks. The script code generated by Linkbit IMS Master under the hood" Page 1
Message Sequencer The Linkbit Message Sequencer is a tool within IMS Master that allows for rapid creation of basic simulation sequences. A point-and-click interface allows the user to create test sequences without touching any of the underlying code. Users simply select one of three steps (Send, Receive, Sleep) and then follow the interactive dialogs. All the underlying code in one of five supported script languages is generated automatically and can then be used as a starting point and extended to include more demanding logic. Any trace log made with Linkbit SIP monitoring tool or Ethereal can be automatically imported, edited and replayed with message sequencer. Page 2
Template Library IMS Master includes a template library containing the entirety of messages for each supported IMS standard. Each message's corresponding data structure is described in full including all mandatory and optional fields, data types, and value constraints. The information is presented in a user-friendly, multi-layer tree format. All fields, their types, and their constraints can be looked up instantly. Users can copy-paste templates for complete messages or individual fields directly into their scripts and IMS Master will automatically generate the necessary code. Page 3
Message Wizard The message wizard further simplifies test creation by allowing users to manipulate messages and their corresponding data structures via simple, verbose dialogs. Users select the protocol, the type of message they'd like to create and then fill out the appropriate fields while message wizard generates and initializes all needed SIP data structures under the hood. Page 4
Debugging Debugging is easy when you don't have to parse any messages. The IMS Master engine decodes all incoming and outgoing messages in real time. The results appear in the debug window as intuitive trees of neatly populated protocol fields. Any malformed messages will be automatically brought to the user's attention. This allows the user to concentrate on test logic and easily spot errors or other points of interest within messages. Page 5
IMS Master also provides input and output methods that can be used directly in all of the supported industry standard scripting languages. So tests can be as verbose and interactive as you'd like. All script output and parsed messages are shown in order and in real time so the sequence of events is always clear. What does a simple IMS Master script look like? Page 6
Below is an fragment of a Perl script code auto generated by Linkbit IMS Master. It sends a SIP INVITE message and waits 500 msec for a response. The rest of the code (not shown) allocates and initializes INVITE_Message, UdpLayerData, and IPLayerData variables. It's auto generated by Linkbit Message Wizard. $sk->send($invite_message, $UdpLayerData, $IPLayerData); if ($sk->receive($ininv = $sk->create(), 500, $sk->{sip})) { # Handle successful reception here; message contents is available in "$ininv" variable } else { # Handle unsuccessful reception here } The same function, but in Python: sk.send(invite_message, UdpLayerData, IPLayerData) ininv = sk.create() if sk.receive(ininv, 500, sk.sip): # Handle successful reception here; message contents is available in "ininv" variable pass else: # Handle unsuccessful reception here pass Page 7
Supported Specs SIP and IMS: RFC 3261 - SIP: Session Initiation Protocol RFC 3262 - Reliability of Provisional Responses in the Session Initiation Protocol (SIP) RFC 3265 - Session Initiation Protocol (SIP)-Specific Event Notification RFC 3311 - The Session Initiation Protocol (SIP) UPDATE Method RFC 3326 - The Reason Header Field for the Session Initiation Protocol (SIP) RFC 3329 - Security Mechanism Agreement for the Session Initiation Protocol (SIP) RFC 2976 - The SIP INFO Method RFC 3515 - The Session Initiation Protocol (SIP) Refer Method RFC 3428 - Session Initiation Protocol (SIP) Extension for Instant Messaging RFC 3903 - Session Initiation Protocol (SIP) Extension for Event State Publication RFC 3455 - Private Header (P-Header) Extensions to the Session Initiation Protocol (SIP) for the 3rd-Generation Partnership Project (3GPP) RFC 3892 - The Session Initiation Protocol (SIP) Referred-By Mechanism RFC 4028 - Session Timers in the Session Initiation Protocol (SIP) RFC 2327 - SDP: Session Description Protocol RFC 3841 - Caller Preferences for the Session Initiation Protocol (SIP) RFC 3911 - The Session Initiation Protocol (SIP) 'Join' Header RFC 3325 - Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks RFC 3327 - Session Initiation Protocol (SIP) Extension Header Field for Registering Non-Adjacent Contacts RFC 3323 - A Privacy Mechanism for the Session Initiation Protocol (SIP) RFC 3313 - Private Session Initiation Protocol (SIP) Extensions for Media Authorization RFC 3603 - Private Session Initiation Protocol (SIP) Proxy-to-Proxy Extensions for Supporting the PacketCable Distributed Call Signaling Architecture RFC 3841 - Caller Preferences for the Session Initiation Protocol (SIP) RFC 3608 - Session Initiation Protocol (SIP) Extension Header Field for Service Route Discovery During Registration RTP: DIAMETER: RADIUS: RFC 2833 - RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals RFC 3550 - RTP: A Transport Protocol for Real-Time Applications RFC 3588 Diameter Base Protocol RFC 3589-3GPP Diameter ( Cx, Dx, Sh interfaces TS 29.229, 29.239) RFC 4004 - Diameter Mobile IPv4 Application RFC 2865 - Remote Authentication Dial In User Service (RADIUS) RFC 2866 - RADIUS Accounting RFC 2867 - RADIUS Accounting Modifications for Tunnel Protocol Support RFC 2868 - RADIUS Attributes for Tunnel Protocol Support For more information or a live demo please contact us at sales@linkbit.com or call +1-408-9699940 ext 102. Page 8