(Page 1 of 1 in this chapter)


Chapter 14

Pulsed E and M Protocol


14.1 Introduction
14.2 Signaling Overview
14.2.1 Multi-Frequency Compelled Scheme
14.3 Parameters
14.3.1 Editable Parameters
14.3.2 Non-editable Parameters
14.4 Special TCP Behavior
14.4.1 Inbound Calls: Retrieving Digits All at Once
14.4.2 Inbound Calls: Retrieving Digits One at a Time
14.4.3 Outbound Calls: Digit Format

14.1 Introduction

This chapter provides the following information:

The protocol known as Pulsed E and M is defined by national specifications in a few countries. This protocol exploits MFC-R2 compelled register signaling (as defined by the CCITT in Recommendations Q.441, Q.442) while using only one bit for line signaling. This is so for compatibility with older analog equipment.

14.2 Signaling Overview

The Pulsed E and M protocol uses one bit in each direction for line signaling. The bit is pulsed, i.e. a signal is defined by the bit being flipped from its idle value, and being flipped back after a certain time. Two types of pulses are defined, long and short. They carry different meanings in the context of the current state of a call.

Different countries use different bits to implement line signaling, with different idle states.

The following table illustrates the signaling states of a typical call.
State

Outbound

Direction

Inbound

Idle

Idle code

\xdf

Idle code

Seizure

Short pulse

Idle code

Seizure Acknowledged

Idle code

\xdf

Short pulse (usually not necessary)

Here the outbound side starts to send the address information. This is accomplished by in-band compelled MF tones. The inbound side completes the compelled sequence by accepting or rejecting the call, using the last backward compelled tone. If the call has been accepted, the inbound side plays a ring tone on the line, and then signals that the call has been answered.

Ringing

Idle code

\xdf

Idle code

Answer - conversation state

Idle code

\xdf

Short pulse

If the inbound side rejects the call instead, the outbound side clears forward, by sending a long pulse. The inbound side acknowledges with another long pulse, and the line is back in the idle state.

Clear forward

Long pulse

Idle code

Idle

Idle code

\xdf

Long pulse

During conversation the outbound protocol can receive billing pulses, to signal that a unit of cost has been billed to the call. A billing pulse is always a short pulse.

Answer - conversation state

Idle code

\xdf

Idle code

Billing pulses

Idle code

\xdf

Short pulse

Answer - conversation state

Idle code

\xdf

Idle code

Depending on which of the sides hangs up the call first, we have a clear back signal, or a clear forward signal.

If outbound sends a clear forward signal, inbound always acknowledges with a release guard signal.

If inbound sends a clear back, outbound sends a clear forward. Depending on national specifications, inbound can still be required to acknowledge with a release guard. Idle follows.

Inbound hangs up first: Clear back

Idle code

\xdf

Long pulse

Clear forward

Long pulse

Idle code

Release Guard (in some countries)

Idle code

\xdf

Long pulse

Idle

IDle code

\xdf

Idle code

Outbound hangs up first: Clear forward

Long pulse

Idle code

Release guard

Idle code

\xdf

Long pulse

Idle

Idle code

\xdf

Idle code

14.2.1 Multi-Frequency Compelled Scheme

The Pulsed E and M protocol uses the same Multi-Frequency Compelled scheme as the MFC-R2 protocol to perform register signaling.

The outbound exchange starts by putting on the line a forward tone that represents the first digit of the called address. The inbound exchange detects the tone, and answers with a backward tone, which has the purpose both to acknowledge the previous forward tone and to request another digit. The inbound exchange can use different tones in the backward direction, each carrying a request for a different piece of information. The outbound exchange interprets the request and sends the appropriate digit.

When the outbound exchange detects the backward tone, it stops the current forward tone. When the inbound exchange detects the end of the forward tone, it stops its backward tone. When the outbound exchange detects the end of the backward tone, it starts the next tone, representing the next digit, and the cycle is repeated.

Different kind of information are transferred from the outbound to the inbound exchange in this way. The Pulsed E and M protocol supports:

Natural MicroSystem's Pulsed E and M protocol implementation gives developers control over all of these features.

14.3 Parameters

The Pulsed E and M TCP is programmed for operation within different countries and networks by a number of TCP-specific parameters. These are comprised within the parameter category ADI.EAM. As explained in previous sections, the correct parameters are set at installation time.

What follows is an explanation of the meaning of all the Pulsed E and M parameters.

Caution:

Most of the parameters that follow are signaling-specific: changing their value would not only invalidate any approval certificate for the used board, but would also most likely cause the board to malfunction. These parameters are described here for reference purposes only.

14.3.1 Editable Parameters

Users can modify the following ADI.EAM parameters:

Field Name

Type/Unit

Default

Description

Default

DIDnumber

number

7

Inbound: Number of DID digits to expect

7

ANInumber

number

8

Inbound: Number of ANI digits to expect

8

DIDBeforeANI

number

2

Inbound: DID number to receive before asking for category

2

optionflags

mask

0x0

flags for the user to set for optional TCP behavior (inbound):

bit 0 (& 0x1): Indicates if the TCP plays busy when rejecting a call. If not, the switch does it instead.

1 = Do not play

0 = Play (default)

· bit 1 (& 0x2): Set this bit if the trunk you are using is inbound only (no calls can be placed on it).

· bit 2 (& 0x4): Set this bit if the trunk you are using is outbound only (no calls can be received on it).

· bit 3 (& 0x8): Set this bit if a cleardown tone (busy tone) is necessary when the inbound side of the TCP hangs up a call first. If the bit is 0 (default), no cleardown tone is played.

· bit 4(& 0x10): Set this bit if you need to play a message while rejecting a call. If the bit is set, the TCP will send to the network the backward Group B tone to accept the call, thus causing the network to establish the voice path. The TCP will then wait for the far end to hang up while the application plays a voice message.

0x0

debugmask

mask

0x0

Trace level specification, as follow:

· Show states: 0x01

· Show tones: 0x02

· Show line code: 0x04

· Show tone ends: 0x08

· Show compel errors: 0x10

· Show tone validity errors: 0x20

· Show timers expiring: 0x40

These values can be ORed for cumulative effect .

0x0

timewaitdial

ms

500

Outbound: Inactive time between the end of an outbound call and the next outbound call. Needed to synchronize the parties in those cases when a release guard signal is not in the protocol.

500

14.3.2 Non-editable Parameters

The following ADI.EAM parameters instead are country- or network-specific, and cannot be modified.

Field Name

Type/Unit

Example

Description

The following parameters specify the signaling timers

compelledtimers

internal

0x3F6F

All compelled timers, both for inbound and outbound, expressed in seconds and packed in a 16-bits word. The timers are the following:

1 T1 (forward tones max on-time): lowest 5 bits. Example 01111 = 15 s

2 T2 (forward tones max off-time): middle 5 bits. Example 11011 = 27 s

3 T3 (inbound compelled cycle timer): highest 6 bits. Example 001111 = 15 s

shortpulsetimers

internal

0x090F

Specification for the duration of short signaling pulses. The low byte contains the nominal duration (in 1/100's of second), the high byte contains the tolerance (in 1/100's of second). The pulses will be generated with the nominal time value, and detected within nominal value ± tolerance.

longpulsetimers

internal

0x1E3C

Specification for the duration of long signaling pulses. The low byte contains the nominal duration (in 1/100's of second), the high byte contains the tolerance (in 1/100's of second). The pulses will be generated with the nominal time value, and detected within nominal value ± tolerance.

seizureacktime

ms

0

Outbound: Time to wait for seizure acknowledge after seizure, before clearing forward. The seizure acknowledgment signal is defined only in the case of particular network variations. A value of 0 instructs the TCP not to expect a seizure acknowledge signal when dialing out.

answer_hangupack

internal

0x5A5A

Outbound: Two timers, one per byte.

Low byte: time to wait for inbound to answer the call, after all digits have been delivered, before clearing forward (in seconds).

High byte: time to wait for a release guard signal after clearing forward, before starting an alarm recovery sequence (in seconds).

alarmtimeout

counter

300

Outbound: Time in seconds to keep performing the alarm recovery sequence, before setting the alarm bit. The alarm recovery sequence is as follows: the TCP seizes the line with a short pulse, then clears forward with a long pulse, and waits for a release guard signal from inbound. If the release guard signal is not received, the sequence is repeated periodically.

alarminterpulse

ms

300

Outbound: Time between short and long pulse in the alarm recovery sequence.

The following parameters contain the specification of all the tones needed by the protocols to implement the country-specific register signaling variations. Each parameter holds more than one tone. Each tone uses 4 bits (one hexade) of the 16 bit word. Tones are listed from least to most significant inside each parameter.

tonesgroupA

internal

0x3551

Backward Group A tones. The TCP uses these tones to send and interpret requests to the calling party during the compelled sequence. Each hexade of the parameter contains one request. Low to high hexade:

0 Send next DID (A-1).

1 Send Group I category (A-5).

2 Send next ANI (A-5).

3 Send Group II tone (and switch to group B tone reception) (A-3).

tonesgroupB

internal

0x8354

Some backward Group B tones. The TCP uses these tones to send and interpret the final indication of the compelled sequence to the calling party. Each hexade of the parameter contains one Group B indication. Low to high hexade:

0 Indicate congestion (B-4). This is also applicable during Group A transmission.

1 Indicate unallocated number (B-5).

2 Indicate busy (B-3).

3 Indicate line out of order (B-8).

tonesendofinfo

internal

0x0FCF

Forward tones that indicate the end or the non-availability of a certain type on information. Types of information include:

0 In some countries a tone that signals the end of the DID digits doesn't exist. In this case the first hexade will be 0.

1 Caller's category. In some countries the category must be available to the caller, so the second hexade will be 0.

2 End of ANI - Caller ID available.

3 End of ANI - Called ID restricted. In most countries there is no distinction for
MFC-R2 between restricted and non-restricted Caller ID. In this case the fourth hexade is 0.

tonesanswer

internal

0x0667

Backward tones indicating acceptance of the call. Each hexade of the parameter contains one flavor of acceptance indication. Low to high hexade:

0 Call accepted in Group B - charge (B-6).

1 Call accepted in Group B - free call (B-7).

2 Call accepted in Group A (A-6).

3 Alternative tone for call accepted in Group B (not in CCITT specs, but necessary in some countries).

tonesmiscellaneous

internal

0x0C11

Request or indication tones used in different contexts by the TCP. They are (low to high hexade)

0 The tone the outbound part of the TCP plays in Group II (toll category in some countries) (II-1, normal subscriber).

1 Default user category (Group I category) to be used if the application does not provide it (in some countries the outbound must play it in all cases) (I-1, normal subscriber).

2 Tone meaning that after the user category no ANIs are available (I-12, or 0xC).

tonesrepeatrequest

internal

0x0872

Backward Group A tones inbound plays to request a DID digit repetition from outbound. Consider the digit that outbound played last to be digit N. Low to high hexade:

0 Repeat digit N-1 (A-2).

1 Repeat digit N-2 (A-7).

2 Repeat digit N-3 (A-8).

3 Repeat all digits (restart dialing) (Not specified by the CCITT Blue Book, but used in many countries).

tonesgroupC

internal

0x0001

Backward tones that the inbound plays when it is collecting ANIs (the specifications of some countries identify a Group C in this case) Low to high hexades:

0 Request the outbound to go back to sending DID digits, and send the next digit. This is typically the same as the normal send DID tone, hexade 1 of ADI.MFC.tonesgroupA, but it can be different in some countries.

1 Request the outbound to go back to sending DIDs, and repeat the last DID transmitted. (Not supported by the CCITT Blue Book)

These parameters describe the target country's call progress tones. Their default values are set to a
reasonable international standard.

ringfreq

Hz

425

Inbound: Ring frequency #1

ringontime

ms

1000

Inbound: Time the ring tone is on in a ring cycle

ringofftime1

ms

4000

Inbound: Time the ring tone is off in a ring cycle

ringofftime2

ms

0

Inbound: ring off-time two (for UK-style ringing cycles, e.g. 400 on, 200 off, 400 on, 2000 off)

busyfreq

Hz

425

Inbound: Busy frequency #1

busyontime

ms

500

Inbound: Time the busy tone is on in a busy cycle

busyofftime

ms

500

Inbound: Time the busy tone is off in a busy cycle

Cptoneslevel

IDU

350

Inbound: Amplitude of call progress tones (ring and busy)

Miscellaneous parameters

compelledtoneslevel

IDU

330

R2 tones amplitude (forward and backward)

signalingflags

mask

0x0

Parameter containing flags describing signaling variations. These are:

· 0xF = Value of the A, B, C and D bits in the target country during idle line conditions.

· 0x30 = Value of the A and B bits in the target country during pulse-on line conditions.

· 0xC0 = Value of the A and B bits in the target country during alarm-on line conditions.

· 0x100 = Determines whether outbound signals alarms.

0 = No

1 = Yes

· 0x200 = Determines whether release guard is needed.

0 = No

1 = Yes

· 0x400 = Determines whether clear back is needed after clear forward.

0 = No

1 = Yes

· 0x800 = Determines whether the protocol sends more than one Clear Forward before setting alarm status.

0 = No

1 = Yes

· 0x1000 = Determines if seizure acknowledgment is needed.

0 = No

1 = Yes

· 0x2000 = Specifies no digit behavior.

0 = pulse congestion

1 = go to Group II

validDIDmask

internal

0x87FE

The valid DID tones in the target country. If a DID is received by inbound, that is not valid, the compelled sequence is aborted with a congestion indication.

The mask is the following:

FEDC|BA98|7654|321-

1000|0111|1111|1110

In this parameter and the following ones, bits set to `1' represent valid digits. If the TCP receives a digit corresponding to a bit set to `0', it will automatically reject the call. In this example, the digits `B', `C', `D' and `E' are invalid DID digits.

validANImask

mask

0x97FE

The valid ANI tones in the target country. If a ANI is received by inbound, that is not valid, the compelled sequence is aborted with a congestion indication.

The mask is the following:

FEDC|BA98|7654|321-

1001|0111|1111|1110

validcategorymask

mask

0x93FE

The valid category tones in the target country. If an invalid category is received by inbound, the compelled sequence is aborted with a congestion indication.

The mask is the following:

FEDC|BA98|7654|321-

0000|0111|1111|1110

noANIfollowmask

mask

0x9000

Specifies the values of ANIs, implying that no ANIs follow. The mask is the following:

FEDC|BA98|7654|321-

1001|0000|0000|0000

categorynoANImask

mask

0x0

Specifies the category tones that imply that no ANIs follow (a possibility for international calls). The mask is:

FEDC|BA98|7654|321-

0000|0000|0000|0000

clearbackdelay

ms

0

If not equal to zero (0), specifies time to wait before "reject collect calls" clearback pulse. This might be needed for special switches in certain countries. Set to zero to disable.

reanswerdelay

ms

0

Specifies time after "reject collect calls" clearback pulse and before reanswer. Disabled if ADI.EAM.clearbackdelay is set to zero.

Timers related to the AG Quad boards resource management:

resourcegettimes

internal

0x0a0f

this parameter addresses a special need of protocols running on a AG Quad board with resource management enabled. For certain operations it is necessary to acquire a resource from a resource pool on the board. The parameter defines two timeouts after which the operation is aborted if a resource is not available. (This is very unlikely).

Low byte: Time to wait for resource before placing a call (15 s)

High byte: Time to wait for resource when a resource is needed by inbound to release a call (e.g. to play a cleardown tone) (10 s)

14.4 Special TCP Behavior

The following section describes operations that are specific to the Pulsed E and M protocol within the framework of Natural Call Control

14.4.1 Inbound Calls: Retrieving Digits All at Once

For EAM, after ADIEVN_INCOMING_CALL is received, the following fields contain the received digits:

Field

Description

calledaddr

The called number. Also referred to as the Direct Inward Dial (DID) number.

callingaddr

The calling number (if available). Also referred to as the Automatic Number Identification (ANI) number.

usercategory

The calling party category (Group I), e.g. normal subscriber, operator, maintenance equipment.

callingpresentation

The ANIs may not be available because the application is using protocols where call path, or ANI presentation are restricted.

Possible values include:

0 = calling number presentation allowed (default)

1 = calling number presentation restricted

2 = calling number not available

tollcategory

The category associated with the calling party in register signaling Group II. Usually this is the same as the user category, but in some countries it carries the toll category of the call.

Several entries in the TCP parameter file affect the way pulsed E and M TCPs accept and process digits.

Note: When you call adiAnswerCall with EAM TCPs, the upper five bits of the number_of_rings argument are reserved and should be set to zero. This means that EAM TCPs support a maximum of 0x7ff (2047) rings.
EAM Parameter

Description

ADI.EAM.DIDnumber

This parameter determines the number of Direct Inward Dial (DID) digits the TCP should expect from the calling party. Default is 7.

ADI.EAM.ANInumber

This parameter determines the number of Automatic Number Identification (ANI) digits the TCP should expect. Set this number to one more than the number of ANI digits to expect, to include the category digit. For example, if the TCP is to expect 7 digits, set this parameter to 8 (the default).

If this parameter is set to 0, no ANI digits are collected. However, the TCP always tries to collect the user category of the calling party and present it to the application.

ADI.EAM.DIDBeforeANI

This parameter determines the number of DID digits the TCP should receive before signaling the calling party to send ANI digits. Default = 1.

Refer to Chapter 5 for instructions about loading parameter files.

14.4.2 Inbound Calls: Retrieving Digits One at a Time

For Pulsed E and M, the digits appear in the following format:

d1 # c1 a1 a2 a3 am # d2 d3 dn # c2

where:

d1dn

DID digits received. n is determined by the ADI.EAM.DIDnumber parameter.

c1

Group I category of the calling party (user category).

a1 am

ANI digits received. m is determined by the ADI.EAM.ANInumber parameter.

c2

Group II category of the calling party (toll category).

#

NMS separator symbol.

Note: The number of DID digits received before the # separator depends on the ADI.EAM.DIDbeforeANI parameter.

14.4.3 Outbound Calls: Digit Format

Pulsed E and M TCPs expect the digit string to be formatted as follows:

# c a1 . am # d1 dn

where:

c

User category of the calling party.

a1 . am

ANI digits (the address of the calling party).

d1 dn

DID digits (the address of the called party).

#

NMS separator symbol.

User category and ANIs can be omitted if the connection does not require them to be present. If these are omitted, the digit string should be formatted as follows:

d1 dn

In this case, the TCPs use a country-specific default category. This default category is specified in the ADI.EAM.tonesmiscellaneous parameter.



(Page 1 of 1 in this chapter)


tech_support@nmss.com
Copyright © 1999, Natural MicroSystems, Inc. All rights reserved.