Source for file docsis_telephone.php

Documentation is available at docsis_telephone.php

  1. <?php
  2. /**
  3. * Telephone
  4. *
  5. * @author David Eder <david@eder.us>
  6. * @copyright 2004 David Eder
  7. * @package docsis_config
  8. * @version .3
  9. */
  10.  
  11. /**
  12. */
  13. require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'docsis_common.php');
  14.  
  15. define('DOCSIS_TELEPHONE', 15);
  16. define('DOCSIS_TELEPHONE_PROVIDER', 2);
  17. define('DOCSIS_TELEPHONE_NUMBER_1', 3);
  18. define('DOCSIS_TELEPHONE_NUMBER_2', 4);
  19. define('DOCSIS_TELEPHONE_NUMBER_3', 5);
  20. define('DOCSIS_TELEPHONE_CON_THRESH', 6);
  21. define('DOCSIS_TELEPHONE_LOGIN', 7);
  22. define('DOCSIS_TELEPHONE_PASSWORD', 8);
  23. define('DOCSIS_TELEPHONE_DHCP_AUTH', 9);
  24. define('DOCSIS_TELEPHONE_DHCP_SERVER', 10);
  25. define('DOCSIS_TELEPHONE_RADIUS_REALM', 11);
  26. define('DOCSIS_TELEPHONE_PPP_AUTH', 12);
  27. define('DOCSIS_TELEPHONE_DDI_TIMER_THESH', 13);
  28.  
  29. /**
  30. * Telephone
  31. *
  32. * @package docsis_config
  33. */
  34. class docsis_telephone extends docsis_encoder_complex
  35. {
  36. /**
  37. * Constructor
  38. *
  39. * @param int $code docsis code
  40. * @param array $value predefined values
  41. */
  42. function docsis_telephone($code=DOCSIS_TELEPHONE, $value=array())
  43. {
  44. parent::docsis_encoder_complex($code, $value);
  45. }
  46.  
  47. /**
  48. * Set Service Provider Name - docsis 1.0
  49. *
  50. * @param string $value
  51. */
  52. function set_provider($value)
  53. {
  54. $this->value[DOCSIS_TELEPHONE_PROVIDER] = new docsis_encoder_string(DOCSIS_TELEPHONE_PROVIDER, $value);
  55. }
  56.  
  57. /**
  58. * Set Telephone Number 1 - docsis 1.0
  59. *
  60. * @param string $value
  61. */
  62. function set_number_1($value)
  63. {
  64. $this->value[DOCSIS_TELEPHONE_NUMBER_1] = new docsis_encoder_string(DOCSIS_TELEPHONE_NUMBER_1, $value);
  65. }
  66.  
  67. /**
  68. * Set Telephone Number 2 - docsis 1.0
  69. *
  70. * @param string $value
  71. */
  72. function set_number_2($value)
  73. {
  74. $this->value[DOCSIS_TELEPHONE_NUMBER_2] = new docsis_encoder_string(DOCSIS_TELEPHONE_NUMBER_2, $value);
  75. }
  76.  
  77. /**
  78. * Set Telephone Number 3 - docsis 1.0
  79. *
  80. * @param string $value
  81. */
  82. function set_number_3($value)
  83. {
  84. $this->value[DOCSIS_TELEPHONE_NUMBER_3] = new docsis_encoder_string(DOCSIS_TELEPHONE_NUMBER_3, $value);
  85. }
  86.  
  87. /**
  88. * Set Connection Threshold - docsis 1.0
  89. *
  90. * Retry count threshold for registration attempts.
  91. *
  92. * @param int $retries from 0 to 255
  93. */
  94. function set_con_thresh($retries)
  95. {
  96. $this->value[DOCSIS_TELEPHONE_CON_THRESH] = new docsis_encoder_uchar(DOCSIS_TELEPHONE_CON_THRESH, $retries);
  97. }
  98.  
  99. /**
  100. * Set Login Username - docsis 1.0
  101. *
  102. * Login username to be used for PPP authentification.
  103. *
  104. * @param string $value
  105. */
  106. function set_login($value)
  107. {
  108. $this->value[DOCSIS_TELEPHONE_LOGIN] = new docsis_encoder_string(DOCSIS_TELEPHONE_LOGIN, $value);
  109. }
  110.  
  111. /**
  112. * Set Login Password - docsis 1.0
  113. *
  114. * Login password to be used for PPP authentification.
  115. *
  116. * @param string $value
  117. */
  118. function set_password($value)
  119. {
  120. $this->value[DOCSIS_TELEPHONE_PASSWORD] = new docsis_encoder_string(DOCSIS_TELEPHONE_PASSWORD, $value);
  121. }
  122.  
  123. /**
  124. * Set DHCP Authenticate - docsis 1.0
  125. *
  126. * @param boolean $value
  127. */
  128. function set_dhcp_auth($value)
  129. {
  130. if($value < 0 || $value > 1) trigger_error('DHCP Auth must be 0 or 1', E_USER_WARNING);
  131. $this->value[DOCSIS_TELEPHONE_DHCP_AUTH] = new docsis_encoder_uchar(DOCSIS_TELEPHONE_DHCP_AUTH, $value);
  132. }
  133.  
  134. /**
  135. * Set DHCP Server - docsis 1.0
  136. *
  137. * @param string $value ip address of DHCP server.
  138. */
  139. function set_dhcp_server($value)
  140. {
  141. $this->value[DOCSIS_TELEPHONE_DHCP_SERVER] = new docsis_encoder_ip(DOCSIS_TELEPHONE_DHCP_SERVER, $value);
  142. }
  143.  
  144. /**
  145. * Set RADIUS Realm - docsis 1.0
  146. *
  147. * @param string $value radius realm name to be used for PPP authentification.
  148. */
  149. function set_radius_realm($value)
  150. {
  151. $this->value[DOCSIS_TELEPHONE_RADIUS_REALM] = new docsis_encoder_string(DOCSIS_TELEPHONE_RADIUS_REALM, $value);
  152. }
  153.  
  154. /**
  155. * Set PPP Authenticate - docsis 1.0
  156. *
  157. * @param boolean $value
  158. */
  159. function set_ppp_auth($value)
  160. {
  161. $this->value[DOCSIS_TELEPHONE_PPP_AUTH] = new docsis_encoder_uchar(DOCSIS_TELEPHONE_PPP_AUTH, $value);
  162. }
  163.  
  164. /**
  165. * Set Demand Dial Inactivity Time Threshold - docsis 1.0
  166. *
  167. * The demand dial inactivity timer monitors network activity at the CM. The purpose is to limit the CM (upsteam) network connectivity to
  168. * periods of time when connectivity is required.
  169. *
  170. * @param int $value seconds of inactive networking time allowed to elapse before hanging up a telephone connection at the CM. Zero represent non-use.
  171. */
  172. function set_ddi_timer_thresh($value)
  173. {
  174. $this->value[DOCSIS_TELEPHONE_DDI_TIMER_THESH] = new docsis_encoder_uint(DOCSIS_TELEPHONE_DDI_TIMER_THESH, $value);
  175. }
  176. }
  177. ?>

Documentation generated on Mon, 14 Nov 2005 18:00:36 -0700 by phpDocumentor 1.3.0RC3