Known Limitations and Possible Workarounds: SIP Residential Gateway

1. 
Limitation:
-----------
RG can accept only DTMF input from PSTN user in a PSTN-IP call. Since, it is
cumbersome or at times impossible to enter non-numeric phone numbers from a
PSTN telephone in India, we could test RG only with UAs having numneric 
address (for e.g. 1001, 1002, etc.). 

Workaround:
-----------
None.


2.
Limitation:
-----------
PSTN in India indicates call progress to the caller through call progress
tones (ringback. busy, other tones) or by playing recorded announcements 
(for e.g. when a caller is trying to make a call to a non reachable number).

The Linejack is capable of detecting call progress tones which can be
programmed as frequency values & cadence on/off times in the driver API. It
cannot detect/interpret recorded announcements played by PSTN. 


Workaround:
-----------
After playing out the announcement (usually for three times which may be
around 10-15 seconds) the PSTN sends a Busy tone. RG catches this Busy tone,
disconnects on PSTN side , sends 486 msg to UA and becomes Ready.


3.
Limitation:
-----------
LineJack cannot detect whether the PSTN user has answered the call.

Workaround:
-----------
We start a timer of 5 seconds after detection of each Ringback cadence and
stop the timer started by the previous ringback cadence detection. If the next
cadence does not happen before the timeout we conclude that the PSTN user has
answered the call. This technique works because the Ringback cadences from PSTN
are of fixed duration & we can assume that if the cadence does not occur within
that time span the Ringback has stopped and the call is answered. This
technique can fail if the call is not answered at all. Hence we protect it by
providing a ringback cadence detection count. If this count exceeds 8 we
conclude that the call is not answered & RG disconnects on the PSTN side. As a
side effect we donot allow the RG to be hogged for long durations during call
setup.


4.
Limitation:
-----------
LineJack cannot detect called party hangup. It has provisions for wink
detection but the PSTN in India does not provide wink on hangup. 

Workaround:
-----------
We detect the Busy tone from PSTN (which is sent after the far
end has disconnected) and conclude that PSTN user has disconnected. This
works because the PSTN sends Busy tone only on hangup after a voice call.



5. 
Limitation:
-----------
When making a IP to PSTN call, RG detects the call progress tones, and
accordingly changes state from 'trying' to 'busy' or 'in call'. Its
possible that first one or two ringback is not detected immediately. Hence,
it is needed at the pstn end, that the pstn user picks up the call after
hearing 3-4 rings, and not immediately.

Workaround:
-----------
None.
It will help if the PSTN user answers the call after 3-4 rings.


[ Vovida.org | Applications Homepage | SIPRG Download | Limitations and Workarounds ]