KNOWN LIMITATIONS 
==================================================================== 

Here are the known limitations of VOCAL 1.5.0.

(Note: these need to be updated)

---Provisioning Server (PS)

Limitation: On the Solaris platform, loading more than 40,000 users 
            makes the Provisioning GUI turn completely white and,
            therefore, practically unusable.
Workaround: Do not load more than 40,000 users onto a VOCAL system 
            running on Solaris. 

Limitation: If the user has the wrong file permissions for 
            provisioning data, the data becomes corrupted. 
Workaround: Make sure that the user who runs the PS has write 
            permissions for all of the provisioning data files. 

Limitation: The HTML CGI GUI is limited in its functionality to 
            only allow provisoning of new users and modifying/deleting 
            the existing users. 
Workaround: To have advanced capabilities, you must install 
            the Java GUI from Linux tools RPM. The advanced capabilities 
            include adding/modifying/removing VOCAL servers and also 
            have the capability to modify the global configuration data.

Limitation: Simultaneous updates from two or more provisioing GUIs may 
            overwrite/corrupt the provisioning data. In essence the last 
            write wins.
Workaround: It is recommended and assumed that only one GUI client updates
            the provisioning data.

Limitation: The current provisoning systems does not support data 
            migration. A re-installation will wipe out the old 
            provisioned data. Also any network changes (IP address,
            host name etc) will require the Softswitch to be re-installed 
            again.
Workaround: If upgrading to the new version of Vocal and no change 
            in provision data format or network change, one can take 
            the backup of old provision data from 
            /usr/local/vocal/provision_data before the installation 
            and then replace new provision_data dir with the 
            backup data.

Limitation: The enhanced TLS version of provisioning is still subject to 
	    man-in-the-middle attacks.  Preventing these attacks requires
	    a trusted certificate authority for preventing these issues.
Workaround: none.

---Feature Servers (FS)

Limitation: Call Processing Language (CPL) scripts that are not 
            generated by the VOCAL PS are not supported. 
Workaround: Please see http://www.vovida.org/cgi-bin/fom?file=624 .

Limitation: Call Return, Call Waiting, Call Hold and Consultation 
            Transfer do not work with Caller ID Blocking. 
Workaround: Disable Caller ID Blocking to make these features work. 

Limitation: Call Blocking only works with North American Dialing 
            Plan numbers. 
Workaround: None.            

Limitation: If the administrator blocks 1+ calls, 1-8xx calls are
            purposely unblocked. This includes toll-free numbers as 
            well as calls to ordinary 8xx area codes, such as 801 
            and 802.
Workaround: None. 

Limitation: Phone numbers entered for call screening must include
            the area code regardless if they are local or long-
            distance numbers.
Workaround: None.


---Redirect Server (RS)

Limitation: Only one registration is stored per subscriber. When 
            another registration comes in, the old information is 
            overwritten. 
Workaround: None. 


---Marshal Servers (MS)

Limitation: Unknown SIP methods are not proxied.
Workaround: None.

Limitation: Conference calls, both meet-me and ad-hoc, require 
            the inclusion of a conference bridge (a.k.a. 
            Multimedia Conference Unit (MCU)) from an outside 
            vendor to perform the audio mixing. 
Workaround: None. 

Limitation: If the MCU provides a SIP interface, conference calls 
            can be placed to it through any type of MS. 
            However, if the MCU provides a PSTN interface, the only
            way to route calls to it is through this path: 
            a Gateway MS to a SIP-PSTN gateway to the MCU. When 
            setting up the conference MS, use the system dialing 
            plan to direct calls to the MCU; the gateway setting 
            is ignored. 

Limitation: Each Gateway, Internetwork, and Conference MS 
            supports one and only one external entity, 
            whether that entity is a gateway, a proxy server, or 
            a conference bridge. 
Workaround: Run a MS for each external entity except for the 
            User Agent Marshal Servers (UAMS). 

Limitation: Conference calling between VOCAL UA endpoints is not 
            reliable. 
Workaround: Restart the Conference MS and VOCAL UA endpoints. 



---Policy Server 

Limitation: The VOCAL 1.2.0 Policy Server supports Open Settlement 
            Protocol (OSP) version 1.4.3 only. 
Workaround: Run Voice Mail User Agents in Linux systems. 


---Simple Network Management Protocol (SNMP) 

Limitation: SNMP is not working or supported in this release, as it
	    has security bugs.
Workaround: none.

Limitation: Multi-Router Traffic Grapher (MRTG) is not supported 
            in this release, as it requires SNMP.
Workaround: none.


---Voice Mail 

Limitation: The Voice Mail Server (VMS) always listens to 8024 port 
            on Linux. 
Workaround: If this port is being used by a different application, 
            kill that application before restarting the VMS. 

Limitation: When using Cisco 7960 IP phone, Voice Mail feature only works 
            with firmware version 2.2 or higher.
Workaround: None.

Limitation: The Voice Mail feature requires that the calling user agents
	    support SIP-Redirect-Reason.
Workaround: None.



---Media Gateway Control Protocol (MGCP) Endpoint 

Limitation: During calls between MGCP/UA's, consultation transfer 
            to the PSTN cannot be completed. 
Workaround: None. 

Limitation: During calls from Cisco 7960 IP Phones to MGCP
            endpoints, hanging up MGCP endpoint does not 
            clear the call completely on the Cisco 7960 IP Phone. 
Workaround: Hang up the Cisco 7960 IP Phone. 

Limitation: Conference and Consultation Transfer involving Telogy 
            is not supported in VOCAL 1.2.0 due to limitations 
            with the Telogy gateway. 
Workaround: Make conference and consultation transfers between 
            three MGCP endpoints. 


---Call Detail Record (CDR) Server 

Limitation: VOCAL 1.2.0 on Solaris doesn't connect to Remote 
            Authentication Dial-In User Service- (RADIUS) based 
            billing systems. 
Workaround: Use billing.dat files which are generated by the CDR 
            Server to retrieve billing data. 


---Java Telephony Application Programming Interface (JTAPI) Server 

Limitation: Once a VOCAL UA is provisioned with a JTAPI feature, 
            the user cannot dial from their phone set without 
            bringing up a JTAPI client. 
Workaround: Disable JTAPI feature for the user if the feature is 
            not needed or bring up a JTAPI Client. 


---User Agent (UA)

Limitation: Consultation and Blind Transfer do not work
Workaround: It is a bug. See Bugzilla for information about the fix. 

Limitation: Call Waiting does not work
Workaround: None 

Limitation: The UA assumes that the codec type is always PCM U-law. 
Workaround: None. 

Limitation: The UA does not handle message retransmit timeouts. 
Workaround: None. 

Limitation: There is a known problem when using the 
            INTERNAL_IP_DIAL(3) speed dial option. The 
            INTERNAL_IP_DIAL speed dial plan is currently set to 
            this dial pattern:  DIAL_PATTERN string 
            3 ^[0-9][0-9][0-9]. The INTERNAL_IP_DIAL option will 
            not work if the host portion of the IP address contains 
            only 1 or 2 digits. For example, if you attempt to call 
            192.168.121.10 by dialing 10, the UA will take the 
            previous digit and dial 110. 
Workaround: 1. Use direct URL entry (enter 'u' with keyboard) instead.
              OR
            2. If the IP address contains 1 digit, dial "00" plus the
            digit. For example, if the last octect is "1", dial 
            "001". If the address contains 2 digits, dial "0" 
            plus the digits. For example, if the last octet is "11", 
            dial "011".

---Run-time Configuration

Limitation:The heartbeat mechanism is disabled by default. In order 
           to enable it the VOCAL softswitch needs to be brought down and all 
           the servers needs to be restarted. This may result in 
           temporary distruption to the services. We recommended that you 
	   have it disabled for all-in-one configuration.

Workaround: None


---b2bua

1. Currently B2bUa assumes that all the calls reaching to it are
already authenticated and message has authorization data embedded in
to.  The assumption is that the previous hop to the B2bUa will do the
user authnetication and the INVITE coming to B2b would contain the
Proxy-authorization field containing the User ID. The UserID is taken
as the raw data and sent to the Radius server for authorization.It is
assumued that even if the User ID is encrypted the server would do the
right thing.

2. The password sent for authorization is hard-coded to ".", to suite
a specific vendor however in future there is a plan to incorporate
vendor specific password in the B2bua configuration file or can come
from provisioning.

3. For billing, only basic Radius attributes are supported.If you are
working with a specific billing server, you need to change
AAATransceiver object to support any vendor specific attributes
(VSA).Current Radius stack does not support VSA (Vendor specifc
Attributes).In order for B2bUA to support specific billing server, the
Radius stack also needs to be extended with AAATransceiver changes.

4.No redundency.If B2bUa dies in the middle of a call, inaccurate
billing will occur, in short a free call.The Start billing record is
sent at the start of a call setup.An intermittent billing record is
sent when far end answers and End record is sent when either party
hangs.If B2bUa dies after the intemittent record is sent, the call can
not be consolidated at the billing server and the call would be
free.There is a plan in future to send more intermittent billing
records periodically (let's say every 30 seconds) during the call so
that in situations like these atlest billing can be done till the last
intermittent record.

5.Messages like OPTIONS,SUBSCRIBE,NOTIFY are not handled by the B2bUa 
and are ignored when received.

6.When B2bUa is in registration path for both caller and callee, the call
signalling is broken.


---RTP stack

The Vovida Implementation does not include the following:
* Multicast services
* SRC collisions
* Pad bytes
* RTP/RTCP header extensions or profile-specific modifications
* RTCP SDES over 255 characters in length
* RTCP APP and RTCP SDES PRIV


====================================================================

Copyright 2000-2003, Cisco Systems, Inc.
THE INFORMATION HEREIN IS PROVIDED ON AN "AS IS" BASIS, WITHOUT ANY
WARRANTIES OR REPRESENTATIONS, EXPRESS, IMPLIED OR STATUTORY, INCLUDING
WITHOUT LIMITATION, WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE.

$Id: LIMITATIONS.txt,v 1.1.2.3 2003/03/27 22:02:09 bko Exp $
