home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 29 Fixes_o / 29-Fixes_o.zip / ur458017.dsk / PD1REL.TXT < prev    next >
Text File  |  1995-07-26  |  23KB  |  485 lines

  1.     PD1 Signalling Protocol Release Note & Implementation Guide
  2.  
  3.     PD1 V3.1 : 28-01-95 : Aculab
  4.         
  5.         1 Introduction and Scope
  6.          
  7.         This  release note considers the use of the Aculab  ISDN/E1  card 
  8.         with  the CAS Signalling System 'PD1', and the  implications  for 
  9.         the  applications programmer.  This document is only intended  to 
  10.         be a guide to implementation and is not intended to be an exhaus-
  11.         tive  description of the API; see the Generic  API  Specification 
  12.         documents for full details.  It should be noted that many of  the 
  13.         features  illustrated  here were only introduced along  with  the 
  14.         Release  3 of Aculab device drivers, and are not  available  with 
  15.         any previous release.
  16.         
  17.         The  protocol is named after PD1, coming from the OFTEL  document 
  18.         OTR001,  which classifies this protocol group as 'port type  PD1' 
  19.         for  approvals  purposes.  They are also known variously  as  MCL 
  20.         (Mercury Communications Ltd) CAS (MCL specification SS5002),  and 
  21.         from various PBX suppliers as variants of DC5A.
  22.         
  23.         The PD1 implementation provides three variants, as follows:-
  24.         
  25.                   DDI CAS, DTMF and decadic, balanced
  26.                   Non-DDI CAS, DTMF and decadic, user end
  27.                   Non-DDI CAS, DTMF and decadic, exch end
  28.         
  29.         The  term 'balanced' means symmetrical, the same protocol at  the 
  30.         user end as the network end.  In this respect the same means  are 
  31.         used  to  provide the destination address on dialling out  as  is 
  32.         used to present DDI digits on incoming calls.
  33.         
  34.         On calls made from the network end to the user end using the non-
  35.         ddi protocol, no destination digit transmission is possible. 
  36.         
  37.         
  38.         2 Convergence of PD1x into PD1xD and PD1xD into PD1
  39.         
  40.         Subsequent to versions 1.9, 2.4 and 2.5 of PD1DD, PD1UD and PD1ND 
  41.         respectively,  the  decadic dialling functionality  of  the  PD1x 
  42.         protocols  is  intended to be supported by  the  PD1xD  protocols 
  43.         rather than by separate PD1x firmware.  That is to say, that  the 
  44.         PD1xD  protocols are now allowed to be used on E1 cards  that  do 
  45.         NOT have DSP modules fitted.
  46.         
  47.         Subsequent to versions 2.x of PD1xD, all functionality is suppor-
  48.         ted by PD1 3.x.
  49.         
  50.         If  no DSP module is fitted, then the -s98 device  driver  switch 
  51.         must be used so that the firmware does not attempt to access  the 
  52.         DSP  (which could cause misoperation).  Also, without a  DSP,  no 
  53.         tones  will be generated or detected, so dialling must be  accom-
  54.         plished decadically, requiring the use of -s17 and -s18.
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.         
  62.         3 Basic Functionality
  63.         
  64.         Outgoing 
  65.         
  66.         Call Setup, with Destination Address
  67.         Overlap Sending (both en-bloc and overlap from the API)
  68.         Return of received Charging Pulses (Optional)
  69.         Call Release 
  70.         Remote Disconnect on Release (Optional)
  71.         
  72.         
  73.         Incoming 
  74.         
  75.         Call Accept, with DDI digits
  76.         Internal Generation of Dial Tone (Optional)
  77.         Internal Generation of Ring Tone (Optional)
  78.         Generation of Charging Pulses (Optional)
  79.         Call Release
  80.         
  81.         General
  82.         
  83.         Auto Back-Busy on 'not open for incoming', selectable on a  chan-
  84.         nel by channel basis (Optional)
  85.         
  86.         
  87.         4 Outgoing Destination Address
  88.         
  89.         The  outgoing  dialled number may contain commas ','  which  will 
  90.         cause  a  default of a 1 second delay in the  dialling.   Several 
  91.         commas  may  be used sequentially to produce  an  overall  longer 
  92.         delay,  and  the default of 1 second delay may be changed  via  a 
  93.         configuration switch up to a maximum of 25.5 seconds (-s31,255).
  94.         
  95.         Sending of '*' and '#' is also supported.
  96.         
  97.         
  98.         5 Number of DDI and CLI Digits
  99.         
  100.         The CAS device drivers provide the -cDn and -cCn switch  options, 
  101.         which  on  certain protocols specify the number of  DDI  and  CLI 
  102.         digits to be expected or supported.  These have no effect in  the 
  103.         PD1 protocols, and are ignored.
  104.         
  105.         
  106.         6 Release of Incoming Calls before Answer
  107.         
  108.         It should be noted that, in common with many other CAS protocols, 
  109.         there is no physical means to release an incoming call before  it 
  110.         is answered, although this functionality is (notionally) provided 
  111.         by  the API thus any attempt to release an incoming call via  the 
  112.         API will be handled sensibly.
  113.         
  114.         
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.         7 Incoming Meter Pulses
  122.         
  123.         The  the  user end of the non-ddi, and on the ddi  protocols,  on 
  124.         outgoing  calls, can return events relating to incoming  'C  bit' 
  125.         metering pulses (if present).  Metering is included in the speci-
  126.         fication  for  the protocols, but may or may  not  be  available, 
  127.         depending upon implementation.
  128.         
  129.         Generation  of events on metering pulses depends upon the use  of 
  130.         the  CNF_CALL_CHARGE  switch  in the API (see  the  Generic  Call 
  131.         Control manual).
  132.         
  133.         
  134.         8 Generation of Meter Pulses
  135.         
  136.         The network end of the non-ddi, and the ddi protocols, on  incom-
  137.         ing calls, can generate (150mS) metering pulses on the 'C bit' by 
  138.         the use of the call_put_charge() API call.  Take care to use this 
  139.         feature only in circumstances where the far end is expecting  it, 
  140.         and  don't send meter pulses TO the public network and expect  to 
  141.         be able to bill it!
  142.         
  143.         
  144.         9 Generation of Ring Tone
  145.         
  146.         There  is  a  configuration switch that allows  the  protocol  to 
  147.         generate  ring back tone on incoming calls after the use  of  the 
  148.         API function call_incoming_ringing().  
  149.         
  150.         The  ring  back is BS 6305 compliant, being an equal  mixture  of 
  151.         400Hz  and 450Hz tones at -10dBm0, together producing a level  0f 
  152.         -7dBm0,  with  a cadence of 0.4S on, 0.2S off, 0.4S on,  2S  off, 
  153.         following  an initial cycle of 0.35S on and 0.22S off.   The  de-
  154.         fault condition is NO ring back tone.
  155.         
  156.         
  157.         10 Generation of Dial Tone
  158.         
  159.         There  is  a  configuration switch that allows  the  protocol  to 
  160.         generate  dial tone on incoming calls immediately  after  seizing 
  161.         and before detection of the first dialled digit.
  162.         
  163.         The dial tone is BS 6305 compliant as the 'new dial tone',  being 
  164.         a  continuous  tone consisting of an equal mixture of  350Hz  and 
  165.         440Hz tones at -10dBm0, together producing a level 0f -7dBm0.
  166.         
  167.         It is possible to convert this to the 'special dial tone'  (440Hz 
  168.         continuous,  with 350Hz pulsed 750mS on, 750mS off) by  adding  a 
  169.         different argument to the configuration flag.
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.         
  177.         11 Generation of other Call Progress Tones
  178.         
  179.         Timeslot 0 of the DSP stream (stream 17 or 19) is initialised  by 
  180.         the protocol to produce a constant tone of 400Hz at -10dBm0.  
  181.         
  182.         Incoming  speech channels may be switched between this  tone  and 
  183.         silence (set_output() with mode=PATTERN_MODE and pattern=0x54) in 
  184.         accordance with the relevant cadence.  Relevant BS 6305  cadences 
  185.         are as follows:-
  186.         
  187.         Number Engaged (Busy)      .375S on .375S off
  188.         
  189.         Path engaged (congested)   .4S on, .35S off, .225S on, .525S off 
  190.         
  191.         Number Unobtainable (NU)   continuous
  192.         
  193.         
  194.         12 Remote Disconnect
  195.         
  196.         When  the  call  is released from the far end,  and  the  'remote 
  197.         disconnect'  feature of the release 3 device drivers  is  enabled 
  198.         (via  the  CNF_REM_DISC switch in the API), the API  will  return 
  199.         EV_REMOTE_DISCONNECT, but the signalling system will not actually 
  200.         release the channel at the near end until either  call_disconnect 
  201.         or call_release is called.  Bear in mind that outgoing calls will 
  202.         continue to be charged until disconnected or released.  Also,  if 
  203.         the call is not released at the near end, it is possible for  the 
  204.         caller to go off-hook again, and re-answer.
  205.         
  206.         
  207.         13 End of En-Bloc Sending
  208.         
  209.         On  outgoing  calls, it is often useful to know when all  of  the 
  210.         DTMF  digits  have  been sent in order to be able to  nail  up  a 
  211.         bidirectional connection to a DSP or to another port.  Switch -s6 
  212.         enables  the generation of an EV_OUTGOING_RINGING event when  all 
  213.         of the digits provided in the call_openout() have been sent.   It 
  214.         is  still possible to use call_send_overlap() to send  extra  di-
  215.         gits,  but  only one EV_OUTGOING_RINGING will be  generated.   In 
  216.         fact, if for example, 10 digits are sent via call_openout(),  and 
  217.         a further digit is sent via call_send_overlap() before the  first 
  218.         10  digits  have all gone, then the EV_OUTGOING_RINGING  will  be 
  219.         received after the 11th digit, rather than the 10th (just thought 
  220.         you would like to know that!).
  221.         
  222.         Clearly,  the name EV_OUTGOING_RINGING is incorrect in  this  re-
  223.         spect,  in that it does not imply that ringing has been  detected 
  224.         at  the  far end, just that the use of the  B-channel  for  digit 
  225.         sending  is complete.  This usage is consistent with the  use  of 
  226.         the same event under R2.
  227.         
  228.         NOTE: The use of the terms 'en-bloc and 'overlap' in the  context 
  229.         of  DTMF really only refers to digits provided in  call_openout() 
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.         vs.  digits  via call_send_overlap() as properly all  digits  are 
  237.         sent one at a time via overlap sending.  
  238.         
  239.         
  240.         14 Configuration Switch Settings for PD1
  241.         
  242.         This sections details the CONFIG.SYS switch settings (and  confi-
  243.         guration string switches for UNIX), for various optional features 
  244.         in  PD1.   The use of these switches within  CONFIG.SYS  will  be 
  245.         similar to the following:-
  246.         
  247.              device = c:\sys\mvclcas.sys -p380 -i10 -s16 -s17 -s18
  248.         
  249.         See the device driver release notes and README files on disk  for 
  250.         full  information  on device driver installation and  the  normal 
  251.         switches (-p, -i, -d etc).  
  252.         
  253.         Note  that -s switches may also be used with a network port  num-
  254.         ber,  as  in  -s17n0.  Simply using a switch with  no  comma  and 
  255.         argument  is equivalent to using an argument of 1 (as in  s17,1).  
  256.         The  maximum  value of argument that may be used is  255  (as  in 
  257.         s17,255).
  258.         
  259.         The switches that are applicable to PD1 are as follows:-
  260.         
  261.         -s1       Enable correct response to EARTH CALLING after incoming 
  262.                   seize.   On incoming seize, the protocol responds  with 
  263.                   ABCD==1111  as if it were a seize ack, for network  end 
  264.                   non-ddi only. 
  265.         
  266.         -s2       Enable  generation of ringback on incoming calls  as  a 
  267.                   result of calling the API function  call_incoming_ring-
  268.                   ing().   The ringback cadence is the UK  standard  dual 
  269.                   cadence  except on the non-ddi user end where the  cad-
  270.                   ence is entirely determined by the incoming bit signal-
  271.                   ling.  No ringback is generated if -s98 is used.
  272.         
  273.         -s3,nn    Enable  generation  of 'disconnect  clear'  (ABCD=0001) 
  274.                   signal on forward clearing.  Total clear pulse time  is 
  275.                   nn  *  10 mS, so for a 900mS clear pulse,  a  value  of 
  276.                   nn=90 must be used (maximum value is nn=255).   Default 
  277.                   is   nn=0,  idle  clearing.   Only  available  on   the 
  278.                   network end of the non-ddi protocol.
  279.         
  280.         -s4,nn    Enable generation of call logger/meter pulse on  answer 
  281.                   of  incoming calls.  This causes a pulse on the  C  bit 
  282.                   for  nn * 10mS, so for a 20mS pulse nn=2 must be  used.  
  283.                   Default  is  nn=0,  no pulse.  Only  available  on  the 
  284.                   network end of the non-ddi protocol.
  285.         
  286.         -s5,nn    Provides  an  override  to the default  value  for  the 
  287.                   short  delay waiting for the delay dial/PTS  signal  on 
  288.                   the ddi version of the protocol.  
  289.         
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.                   Both  the  PD1 and MCL specifications  state  that  the 
  297.                   delay  dial, if produced, will be received within  30mS 
  298.                   of seize.  
  299.         
  300.                   Some DC5A implementations (which are otherwise similar) 
  301.                   require much longer timeouts, so this switch may be set 
  302.                   to  configure a longer wait for delay dial,  which  may 
  303.                   also  be  regarded as a pre-dial delay.  
  304.         
  305.                   The  delay is programmed as nn * 10mS, so to produce  a 
  306.                   500mS pre-dial delay, set -s5,50.  
  307.         
  308.                   This switch is only available for the ddi protocol, and 
  309.                   the default is 40mS.
  310.         
  311.         -s6       On outgoing calls, causes the event EV_OUTGOING_RINGING 
  312.                   to be generated when there are no more digits to  send, 
  313.                   although    the   supply   of   further   digits    via 
  314.                   call_send_overlap()  is still possible.   Available  on 
  315.                   the ddi and non-ddi user end only.
  316.         
  317.         -s7,x     Overrides the default value of the pre-dial delay  used 
  318.                   on  the  non-ddi  user  end  protocol.   The  delay  is 
  319.                   programmed x * 10mS - the default value is 750mS.
  320.         
  321.         -s8,1     Enables  the  network end of the non-ddi  protocol  for 
  322.                   each  channel  NOT enabled as ddi protocol by  -s20  to 
  323.                   -s23.   The  default  is the user end  of  the  non-ddi 
  324.                   version of the protocol.
  325.         
  326.         -s8,2     Enables  the ddi version of the protocol across all  of 
  327.                   the channels, and overrides channel selection via  -s20 
  328.                   to -s23.  
  329.         
  330.         -s9,x     Overrides  the default value of the  inter-digit  delay 
  331.                   for  decadic dialling.  The delay is calculated as x  * 
  332.                   10mS, and the default value is 750mS.
  333.         
  334.         -s16,1    Generates  dialtone on incoming calls, between the  in-
  335.                   itial seize and recognition of the first dialled digit.  
  336.                   Only  available  on  the ddi and  the  non-ddi  network 
  337.                   end.  No tones are generated if -s98 is used.
  338.         
  339.         -s16,2    Generate  special dialtone on incoming  calls,  between 
  340.                   the initial seize and recognition of the first  dialled 
  341.                   digit.  Only available on the ddi and the non-ddi  net-
  342.                   work end.  No tones are generated if -s98 is used.
  343.         
  344.         -s17      Recognise decadic dialling on incoming calls as well as 
  345.                   DTMF digits.  Only available on the ddi and the non-ddi 
  346.                   network end (non-ddi user end does not receive  dialled 
  347.                   digits).   Must be used if -s98 is used,  otherwise  no 
  348.                   register signalling is possible.
  349.         
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.         -s18      Force  decadic  dialling  on  outgoing  calls  on   all 
  357.                   channels (overrides individual settings on s32 to s35).  
  358.                   Only available on ddi and non-ddi user end (the network 
  359.                   end  does not dial).    Should be used if -s98 is  set, 
  360.                   as otherwise no register signalling is possible.
  361.         
  362.         -s20,x    Sets the ddi protocol for specific channels.  Each  bit 
  363.                   represents one channel, and -s20 controls channels 0 to 
  364.                   7 - bit 1 controls channel 1, and bit 7 controls  chan-
  365.                   nel 7 (bit 0 is not used as there is no channel 0).  To 
  366.                   set all channels 1-7 to ddi, use -s20,255.
  367.         
  368.         -s21,x    Sets the ddi protocol for specific channels.  Each  bit 
  369.                   represents one channel, and -s21 controls channels 8 to 
  370.                   15 - bit 1 controls channel 8, and bit 7 controls chan-
  371.                   nel  15.    To  set  all  channels  8-15  to  ddi,  use 
  372.                   -s21,255.
  373.         
  374.         -s22,x    Sets the ddi protocol for specific channels.  Each  bit 
  375.                   represents  one channel, and -s22 controls channels  17 
  376.                   to  23 - bit 1 controls channel 17, and bit 7  controls 
  377.                   channel  23 (bit 0 is not used as there is  no  channel 
  378.                   16).  To set all channels 17-23 to ddi, use -s22,255.
  379.         
  380.         -s23,x    Sets the ddi protocol for specific channels.  Each  bit 
  381.                   represents  one channel, and -s23 controls channels  24 
  382.                   to  31 - bit 1 controls channel 24, and bit 7  controls 
  383.                   channel  31.    To set all channels 24-31 to  ddi,  use 
  384.                   -s23,255.
  385.         
  386.         -s25,x    Overrides  the default meter pulse length of 150mS  for 
  387.                   outgoing pulses on the 'C'bit. The new value set is x * 
  388.                   10mS.
  389.         
  390.         -s28,x    Overrides  the default DTMF on/off time.  The  time  is 
  391.                   calculated as x * 5mS, and the default value is 70mS.
  392.         
  393.         -s31      Modifies the default delay (in 100mS increments) when a 
  394.                   comma ',' is encountered in the destination address for 
  395.                   dialling.  To set a delay of 1.5 Secs, for example, use 
  396.                   -s31,15.   The  default value for a single comma  is  1 
  397.                   Sec.
  398.         
  399.         -s32,x    Sets  decadic outbound dialling for specific  channels.  
  400.                   Each  bit  represents one channel,  and  -s32  controls 
  401.                   channels  0 to 7 - bit 1 controls channel 1, and bit  7 
  402.                   controls  channel 7 (bit 0 is not used as there  is  no 
  403.                   channel  0).  To set all channels 1-7 to  decadic,  use 
  404.                   -s32,255.
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.         -s33,x    Sets  the decadic outbound dialling for specific  chan-
  412.                   nels.   Each bit represents one channel, and -s33  con-
  413.                   trols channels 8 to 15 - bit 1 controls channel 8,  and 
  414.                   bit  7 controls channel 15.   To set all channels  8-15 
  415.                   to decadic, use -s33,255.
  416.         
  417.         -s34,x    Sets  decadic outbound dialling for specific  channels.  
  418.                   Each  bit  represents one channel,  and  -s34  controls 
  419.                   channels 17 to 23 - bit 1 controls channel 17, and  bit 
  420.                   7 controls channel 23 (bit 0 is not used as there is no 
  421.                   channel 16).  To set all channels 17-23 to decadic, use 
  422.                   -s34,255.
  423.         
  424.         -s35,x    Sets  decadic outbound dialling for specific  channels.  
  425.                   Each  bit  represents one channel,  and  -s35  controls 
  426.                   channels 24 to 31 - bit 1 controls channel 24, and  bit 
  427.                   7  controls channel 31.   To set all channels 24-31  to 
  428.                   ddi, use -s35,255.
  429.         
  430.         -s98      Prevents  the  firmware from accessing the DSP  on  the 
  431.                   card,  thereby making it safe to allow the use  of  the 
  432.                   firmware  on  a card not fitted with a  DSP.   If  this 
  433.                   switch is used, the protocol will neither generate  nor 
  434.                   detect  tones, so decadic dialling is the only  option.  
  435.                   If there is no DSP and this switch is not set, the card 
  436.                   will  not start, and device driver initialisation  will 
  437.                   fail.
  438.         
  439.         -s99,n    Enables  protocol trace generation by the  software  on 
  440.                   the  card.  If n=1..31 the generated trace  is  enabled 
  441.                   for channel n (as long as n != 16), if n=32 then  trace 
  442.                   is enabled for all channels (except 16).  The left  bit 
  443.                   trace and tone columns are the transmitted signals, and 
  444.                   the  right bit trace and tone columns are the  received 
  445.                   signals.   
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.         
  453.         15 Auto Back-Busy Option Switch
  454.         
  455.         The device driver auto back-busy option is available on the PD1xD 
  456.         firmware and the associated CAS driver software, whereby channels 
  457.         not 'open_for_incoming' will automatically present back-busy.
  458.         
  459.         Examples for the auto back-busy switch are as follows:-
  460.         
  461.              -cBBY               global back-busy, affects both ports
  462.              -cBBYn0             global back-busy, affects port 0
  463.              -cBBYn1             global back-busy, affects port 1
  464.              -cBBY,FF0000FF      selective back-busy, affects both ports
  465.                                       (timeslots 1..7 & 24..31 only)
  466.              -cBBY,0000FFFFn0    selective back-busy, affects port 0
  467.                                       (timeslots 1..15 only)
  468.              -cBBY,FFFF0000n1    selective back-busy, affects port 1
  469.                                       (timeslots 17..31 only)
  470.         
  471.         The  value  after the comma is a hexadecimal LONG  INTEGER.   The 
  472.         least significant (rightmost) bit represents timeslot 0, and  the 
  473.         most  significant  bit  (leftmost) bit  represents  timeslot  31, 
  474.         however, as there is no Bearer Channel for timeslots 0 or 16, the 
  475.         bits  for those positions have no effect and are ignored,  so  in 
  476.         that respect FFFEFFFE and FFFFFFFF are equivalent.
  477.         
  478.         
  479.         
  480.         
  481.                          *              *              *
  482.  
  483.  
  484. 
  485.