Introduction

Purpose and scope

It is requirements for internal PortaOne project focused on Media Session handling improvement in B2BUA.

Ticket NumberTT#375800
Target Build
MR50-0
Affected ComponentsPortaSIP Instance, PortaSIP cluster Processing Node (MUBundle)
Document Start Date2014-10-13

Collaborators

Development Department

Testing and Support Departments

  • -

Definitions, acronyms and abbreviation

References

  1. RFC3264
  2. RFC3261

Overview

Current we have bunch  of technical issue which could not be fixed in scope of current Event Filter based B2BUA implementation.  Currently we have following goals list:

  • No excessive commands to rtpproxy, this will require to keep some state and also affects EFs; 
  • Extract event conversion logic from UA/States/ServerRinging, etc.; 
  • Extract convert_1xx from CallController; 
  • CallSession should be able to track UA capabilities(100rel, Allow:UPDATE, ?) and perform event exchange between UAs according to this knowledge; 
  • B2BUA should send commands to rtpproxy in lazy way for re-INVITES(send set_stream only when remote UA accepts re-INVITE); 
  • B2BUA should allocate new stream for offers which contain t38, and close previous audio stream if t38 offer is accepted by remote UA (this requirement leads to mapping between UA and rtpproxy audio sessions, as we should not change session indexes in UA SDP).

Media security related issues:

  • Simultaneous hunting => create separate RTPP session (xid) for each outgoing UA;
  • DTMF transfer - we need to play reject to transferee (may be encrypted) 
  • Blind transfer - both transfer target and transferor (uaO) may have security flags 
  • Blind transfer - we need to create new keys during switching to new target 
  • MOW - we need to negotiate caller's security without knowledge about callee(s) policy 
  • IVR - same as MOW, but with ability to disconnect one callee and reconnect another.

Task which are currently successfully solved without CallSession participation, but should be moved to CallSessioin:

  • 183/1xx with SDP processing;
  • transfer MOH play start/finish;
  • DTMF transfer manipulation with Event Filters;
  • Disconnect prompt playing for late OAM;
  • Try event processing;
  • Unpark/pickup initial codec negotiation;

Current CallSession is designed to work only once call gets switched to connected state. New design should also cover early call state and advanced scenarios.

Speficiations

Create "Business requirements" Create "Software requirements" Create "Design requirements"

Testing plan

Prepared by QA. The main goal  is to check Business and Software Requirements. This chapter should be prepared as separate document.

Feature integration guide

It is auxiliary maintenance description which carries information about how to deploy and configure developed solution, its limitation and usage particularities. This chapter should be prepared as separate document.