Background Information
Background Information Home | White Paper | FAQ | Charters
EMA's Voice Messaging Committee | Historical Documents

VPIM Frequently Asked Questions

How much bandwidth will I need to support VPIM?

How does one know if two systems can send VPIM messages to each other?

The VPIM specification contains some 'MUST HAVE' ESMTP commands that are not currently supported with regular e-mail servers available off-the-shelf. What is the name of a purchasable e-mail server that is fully VPIM compliant?

What happens to VPIM messages when the systems involved in intermediate hops do not support the required ESMTP commands?

What are good sources of information for getting an understanding ofSMTP and MIME?

How does one define implementation specific MIME parts so that VPIMcompliant messages can contain other parts?

How does one get G.726 (32K ADPCM) operating on Dialogic boards?

How does one test a new VPIM implementation for interoperability andconformance?



Q. How much bandwidth will I need to support VPIM?

A. This depends on many variables. Below are a set of assumptions and the bandwidth required based on these assumptions. Note that these assumptions may be high for many users who do not send many messages outside of the company, or for users in different time-zones and who will not have the same traffic peak, or for users who can wait a bit before delivering the message.

Traffic assumptions:
2 messages per day per subscriber.
20 second average message length.
20% (.2) of messages go to VPIM gateway to off system subscribers.
20% (.2) peak hour messages per subscriber.
VPIM assumptions:
- VPIM uses 32Kbps G.726 voice encoding
- MIME base64 encoding adds 33% to message size, giving 43Kbps (MIME with ESMTP would not add the 33%.)
- MIME header adds about 1Kbyte per message (typically <0.05Kbps)
- An average VPIM SMTP message (20 seconds) is about 108 Kbytes in size

In English these assumptions mean that the average subscriber sends two messages of twenty seconds in a day. Twenty percent of these messages go to subscribers not on the mail server via VPIM generating 108Kbytes of traffic. Twenty percent of the total system message traffic is generated during the peak hour.

Bandwidth requirements:
Based on the above assumptions -
1,000 subscribers = 80 VPIM messages per hour = 19.2Kbaud bandwidth during peak hour.
10,000 subscribers = 800 VPIM messages per hour = 192 bits per second (3 T1s).

Back to top

Q. How does one know if two systems can send VPIM messages to each other?

A. You should visit the VPIM web site pages related to interoperability and conformance. Companies that have validated the interoperability of their implementations are posted on that site.


Back to top

Q. The VPIM specification contains some 'MUST HAVE' ESMTP commands that are not currently supported with regular e-mail servers available off-the-shelf. What is the name of a purchasable e-mail server that is fully VPIM compliant ?

A. The latest version of Sendmail is VPIM transport compliant. While it not support the optional binary transport mode, nor the pipelining, it does support the DSN, Extended Status codes, and SIZE which are the "MUST HAVE" parts of the VPIM specification. The mandatory ESTMP commands are necessary to provide the same level of service as is available in existing voice mail networks. Voice mail vendors should support the full set of REQUIRED extensions. In that mode, voice servers can pass messages between themselves with full functionality. When used with non-compliant transport services, obviously features will be lost.


Back to top

Q. What happens to VPIM messages when the systems involved in intermediate hops do not support the required ESMTP commands?

A. The DSN extension is the most important ESTMP extension. Thedowngrade requirements are clearly stated in DSN. These apply to VPIM aswell. Implementations are incrementally being build. Often the DSNextension is the last part build. All the VPIM "products" that I am awareof have support for DSN.


Back to top

Q. What are good sources of information for getting an understanding ofSMTP and MIME?

A. Internet RFCs are the definitive and surprisingly readable source. Mostof the protocols are basically plain text and you should be able to get agood understanding by reading the specification and looking at examplemessages.

- The VPIM specifications are available from the VPIM web site.
- General information on SMTP can be found in a set of documents starting with draft-ietf-drums-*.*
- General information on MIME can be found in the RFCs listed below.

Internet-Drafts are available by anonymous FTP. Login with the username"anonymous" and a password of your e-mail address. After logging in,type "cd internet-drafts" and then "get draft-ietf-xxxxx.txt".

A URL for the Internet-Draft is:
ftp://ftp.ietf.org/internet-drafts/draft-ietf-drums-*.txt
Internet-Drafts directories are located at:
Africa: ftp.is.co.za
Europe: ftp.nordu.net, ftp.nis.garr.it
Pacific Rim: munnari.oz.au
US East Coast: ds.internic.net
US West Coast: ftp.isi.edu
Some (and certainly not all) of the relevant ones are:With special notes for RFC822 for email message format,
RFC1652 for SMTP and RFC2045 and on for MIME.
RFC0821: Simple Mail Transfer Protocol (SMTP)
RFC0822: Standard for the format of ARPA Internet text messages
RFC0959: File Transfer Protocol
RFC0977: Network News Transfer Protocol: A Proposed Standard for the Stream-Based Transmission of News
RFC1034: Domain names - concepts and facilities
RFC1123: Requirements for Internet hosts - application and support
RFC1213: Management Information Base for Network Management of TCP/IP-based internets: MIB-II
RFC1652: SMTP Service Extension for 8bit-MIMEtransport
RFC1700: ASSIGNED NUMBERS
RFC1806: Communicating Presentation Information in Internet Messages: The Content-Disposition Header
RFC1823: The LDAP Application Program Interface
RFC1830: SMTP Service Extensions for Transmission of Large and Binary MIME Messages
RFC1854: SMTP Service Extension for Command Pipelining
RFC1869: SMTP Service Extensions
RFC1870: SMTP Service Extension for Message Size Declaration
RFC1891: SMTP Service Extension for Delivery Status Notifications
RFC1892: The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages
RFC1893: Enhanced Mail System Status Codes
RFC1894: An Extensible Message Format for Delivery Status Notifications
RFC1939: Post Office Protocol - Version 3
RFC1959: An LDAP URL Format
RFC1960: A String Representation of LDAP Search Filters
RFC2034: SMTP Service Extension for Returning Enhanced Error Codes
RFC2045: Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
RFC2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
RFC2047: MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
RFC2048: Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures
RFC2049: Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples
RFC2060: INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
RFC2116: X.500 Implementations Catalog-96
RFC2136: Dynamic Updates in the Domain Name System (DNS UPDATE)

Back to top

Q. How does one define implementation specific MIME parts so that VPIMcompliant messages can contain other parts.

A. This is somewhat new territory for VPIM. It will be part of the focus ofthe work group as it examines issues related to VPIM on the Desktop.Generally, a VPIM message starts with "Content-type:Multipart/Voice-Message; Version=2.0;" and ends at the end of the messagepart boundary marker. At that point a separate MIME message part can begin.


Back to top

Q. How does one get G.726 (32K ADPCM) operating on Dialogic boards.

A. Dialogic uses the OKI ADPCM encoding as a default. There are twoalternative approaches: A Dialogic board based approach and a softwaretranscoding approach.

Approach 1: Dialogic board approach.
This is an option on ordering a board from Dialogic and means that allvoice from or to the board will be in G.726 format.
- Dialogic has made available a solution for their Dual Span products. This approach makes 24 ports of G.726 available on the board. This is not yet in general release but is available now if requested.
- Dialogic will also offer G.726 on the four port D41ESC boards in the 2Q98 (latest hardware revision only).
- Dialogic expects to fully support G.726 on the DM3 architecture by the end of 1998 (NT platform only).
- For details or questions call Steve Pannier at Dialogic (973)-993-1443.
Approach 2: Use software to do transcoding. There are several ways to do this:
a) Free on system C language code provided by the CCITT for taking 64kbpssampling and converting this to G.721. The code for G.726 is not currentlyavailable but when 726 source is available, it will also be put onto theweb site. Once you have that code, you can modify it for your ownapplication.
The documentation that went with the G.721, is on the EMA FTP server at theURL:
ftp://docs:ame50097@ftp.ema.org/var/ftp-dir/ema/pub/docs/voice/VPIM/ccitt_tools.tar.Z
It is hoped that at some point a VPIM participating company will make the OKI-G.726 transcoding source code available.

b) Purchased source code solutions. Software source that transcodes can beimbedded within an application is sold by several including:
- Voice Information Systems (800-234-VISI) has DLLs and applications and several applications that do conversion of recorded voice.
- Language Solutions Inc, http://www.lasi-nsp.com.

Back to top

Q. How does one test a new VPIM implementation for interoperability andconformance?

A. You should visit the VPIM web site pages related to interoperability andconformance. The following steps can be followed:

a) There are sample messages on the site that you can use to performpreliminary tests of your implementation.

b) Several companies have reference sites up that you can send messages toand they will return a message. (Site names?)

c) Several companies are available to do interoperability and conformancetests, these include: Nortel and Applied Voice. You should also send amessage to the list server VPIM-L saying you want to test.

< DD>d) Once you have completed the tests you should post the declaration ofinteroperability so that end-users can see what systems interoperate.


Back to top