Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Putting the actual OpenBTS P2.8 source code into the public SVN branch.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2242 19bc5d8c-e614-43d4-8b26-e1612bc8e597
  • Loading branch information...
commit 508962442c863e33614faa3046ec2950f1b40579 1 parent cd83817
authored October 07, 2011

Showing 125 changed files with 37,197 additions and 0 deletions. Show diff stats Hide diff stats

  1. 192  AUTHORS
  2. 33  AsteriskConfig/Makefile.am
  3. 450  AsteriskConfig/Makefile.in
  4. 4  AsteriskConfig/README.AsteriskConf
  5. 148  AsteriskConfig/cdr.conf
  6. 57  AsteriskConfig/extensions.conf
  7. 733  AsteriskConfig/indications.conf
  8. 69  AsteriskConfig/logger.conf
  9. 36  AsteriskConfig/modules.conf
  10. 91  AsteriskConfig/sip.conf
  11. 768  CLI/CLI.cpp
  12. 76  CLI/CLI.h
  13. 35  CLI/Makefile.am
  14. 531  CLI/Makefile.in
  15. 2  CLI/README.CLI
  16. 724  COPYING
  17. 0  ChangeLog
  18. 603  CommonLibs/BitVector.cpp
  19. 441  CommonLibs/BitVector.h
  20. 88  CommonLibs/BitVectorTest.cpp
  21. 339  CommonLibs/Configuration.cpp
  22. 275  CommonLibs/Configuration.h
  23. 69  CommonLibs/ConfigurationTest.cpp
  24. 210  CommonLibs/F16.h
  25. 55  CommonLibs/F16Test.cpp
  26. 546  CommonLibs/Interthread.h
  27. 114  CommonLibs/InterthreadTest.cpp
  28. 77  CommonLibs/LinkedLists.cpp
  29. 100  CommonLibs/LinkedLists.h
  30. 70  CommonLibs/LogTest.cpp
  31. 197  CommonLibs/Logger.cpp
  32. 99  CommonLibs/Logger.h
  33. 93  CommonLibs/Makefile.am
  34. 658  CommonLibs/Makefile.in
  35. 64  CommonLibs/Regexp.h
  36. 48  CommonLibs/RegexpTest.cpp
  37. 302  CommonLibs/Sockets.cpp
  38. 193  CommonLibs/Sockets.h
  39. 103  CommonLibs/SocketsTest.cpp
  40. 120  CommonLibs/Threads.cpp
  41. 176  CommonLibs/Threads.h
  42. 98  CommonLibs/Timeval.cpp
  43. 104  CommonLibs/Timeval.h
  44. 45  CommonLibs/TimevalTest.cpp
  45. 51  CommonLibs/URLEncode.cpp
  46. 30  CommonLibs/URLEncode.h
  47. 268  CommonLibs/Vector.h
  48. 63  CommonLibs/VectorTest.cpp
  49. 1,054  Control/CallControl.cpp
  50. 67  Control/CallControl.h
  51. 180  Control/ControlCommon.cpp
  52. 219  Control/ControlCommon.h
  53. 192  Control/DCCHDispatch.cpp
  54. 51  Control/Makefile.am
  55. 554  Control/Makefile.in
  56. 558  Control/MobilityManagement.cpp
  57. 39  Control/MobilityManagement.h
  58. 25  Control/README.Control
  59. 509  Control/RadioResource.cpp
  60. 214  Control/RadioResource.h
  61. 584  Control/SMSControl.cpp
  62. 65  Control/SMSControl.h
  63. 263  Control/TMSITable.cpp
  64. 103  Control/TMSITable.h
  65. 777  Control/TransactionTable.cpp
  66. 433  Control/TransactionTable.h
  67. 495  GSM/GSM610Tables.cpp
  68. 30  GSM/GSM610Tables.h
  69. 396  GSM/GSMCommon.cpp
  70. 609  GSM/GSMCommon.h
  71. 337  GSM/GSMConfig.cpp
  72. 289  GSM/GSMConfig.h
  73. 1,589  GSM/GSML1FEC.cpp
  74. 1,230  GSM/GSML1FEC.h
  75. 997  GSM/GSML2LAPDm.cpp
  76. 527  GSM/GSML2LAPDm.h
  77. 314  GSM/GSML3CCElements.cpp
  78. 314  GSM/GSML3CCElements.h
  79. 479  GSM/GSML3CCMessages.cpp
  80. 649  GSM/GSML3CCMessages.h
  81. 365  GSM/GSML3CommonElements.cpp
  82. 277  GSM/GSML3CommonElements.h
  83. 251  GSM/GSML3MMElements.cpp
  84. 230  GSM/GSML3MMElements.h
  85. 347  GSM/GSML3MMMessages.cpp
  86. 459  GSM/GSML3MMMessages.h
  87. 264  GSM/GSML3Message.cpp
  88. 302  GSM/GSML3Message.h
  89. 715  GSM/GSML3RRElements.cpp
  90. 820  GSM/GSML3RRElements.h
  91. 716  GSM/GSML3RRMessages.cpp
  92. 863  GSM/GSML3RRMessages.h
  93. 412  GSM/GSMLogicalChannel.cpp
  94. 548  GSM/GSMLogicalChannel.h
  95. 101  GSM/GSMSAPMux.cpp
  96. 124  GSM/GSMSAPMux.h
  97. 52  GSM/GSMTAPDump.cpp
  98. 29  GSM/GSMTAPDump.h
  99. 352  GSM/GSMTDMA.cpp
  100. 354  GSM/GSMTDMA.h
  101. 508  GSM/GSMTransfer.cpp
  102. 674  GSM/GSMTransfer.h
  103. 72  GSM/Makefile.am
  104. 592  GSM/Makefile.in
  105. 180  GSM/PhysicalStatus.cpp
  106. 89  GSM/PhysicalStatus.h
  107. 133  GSM/PowerManager.cpp
  108. 80  GSM/PowerManager.h
  109. 81  GSM/gsmtap.h
  110. 69  Globals/Globals.cpp
  111. 58  Globals/Globals.h
  112. 32  Globals/Makefile.am
  113. 534  Globals/Makefile.in
  114. 0  INSTALL
  115. 33  INSTALLATION
  116. 73  LEGAL
  117. 58  Makefile.am
  118. 55  Makefile.common
  119. 728  Makefile.in
  120. 0  NEWS
  121. 173  README
  122. 40  SIP/Makefile.am
  123. 541  SIP/Makefile.in
  124. 1,023  SIP/SIPEngine.cpp
192  AUTHORS
... ...
@@ -0,0 +1,192 @@
  1
+#
  2
+# Copyright 2008, 2009 Free Software Foundation, Inc.
  3
+# 
  4
+# This file is part of GNU Radio
  5
+# 
  6
+# GNU Radio is free software; you can redistribute it and/or modify
  7
+# it under the terms of the GNU General Public License as published by
  8
+# the Free Software Foundation; either version 3, or (at your option)
  9
+# any later version.
  10
+# 
  11
+# GNU Radio is distributed in the hope that it will be useful,
  12
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
  13
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14
+# GNU General Public License for more details.
  15
+# 
  16
+# You should have received a copy of the GNU General Public License along
  17
+# with this program; if not, write to the Free Software Foundation, Inc.,
  18
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  19
+#
  20
+
  21
+David A. Burgess, dburgess@kestrelsp.com:
  22
+    CLI/CLI.cpp
  23
+    CLI/CLI.h
  24
+    CommonLibs/Assert.h
  25
+    CommonLibs/BitVector.cpp
  26
+    CommonLibs/BitVectorTest.cpp
  27
+    CommonLibs/Configuration.cpp
  28
+    CommonLibs/Configuration.h
  29
+    CommonLibs/ConfigurationTest.cpp
  30
+    CommonLibs/Interthread.h
  31
+    CommonLibs/InterthreadTest.cpp
  32
+    CommonLibs/LinkedLists.cpp
  33
+    CommonLibs/LinkedLists.h
  34
+    CommonLibs/Regexp.h
  35
+    CommonLibs/RegexpTest.cpp
  36
+    CommonLibs/Sockets.cpp
  37
+    CommonLibs/Sockets.h
  38
+    CommonLibs/SocketsTest.cpp
  39
+    CommonLibs/Threads.cpp
  40
+    CommonLibs/Threads.h
  41
+    CommonLibs/Timeval.cpp
  42
+    CommonLibs/Timeval.h
  43
+    CommonLibs/TimevalTest.cpp
  44
+    CommonLibs/Vector.h
  45
+    CommonLibs/VectorTest.cpp
  46
+    Control/CallControl.cpp
  47
+    Control/ControlCommon.cpp
  48
+    Control/ControlCommon.h
  49
+    Control/FACCHDispatch.cpp
  50
+    Control/MobilityManagement.cpp
  51
+    Control/PagerTest.cpp
  52
+    Control/RadioResource.cpp
  53
+    Control/SDCCHDispatch.cpp
  54
+    GSM/GSM610Tables.cpp
  55
+    GSM/GSM610Tables.h
  56
+    GSM/GSMCommon.cpp
  57
+    GSM/GSMCommon.h
  58
+    GSM/GSMConfig.h
  59
+    GSM/GSML1FEC.cpp
  60
+    GSM/GSML1FEC.h
  61
+    GSM/GSML2LAPDm.cpp
  62
+    GSM/GSML2LAPDm.h
  63
+    GSM/GSML3CCElements.cpp
  64
+    GSM/GSML3CCElements.h
  65
+    GSM/GSML3CCMessages.cpp
  66
+    GSM/GSML3CCMessages.h
  67
+    GSM/GSML3CommonElements.cpp
  68
+    GSM/GSML3CommonElements.h
  69
+    GSM/GSML3MMElements.cpp
  70
+    GSM/GSML3MMElements.h
  71
+    GSM/GSML3MMMessages.cpp
  72
+    GSM/GSML3MMMessages.h
  73
+    GSM/GSML3Message.cpp
  74
+    GSM/GSML3Message.h
  75
+    GSM/GSML3RRElements.cpp
  76
+    GSM/GSML3RRElements.h
  77
+    GSM/GSML3RRMessages.cpp
  78
+    GSM/GSML3RRMessages.h
  79
+    GSM/GSMLogicalChannel.h
  80
+    GSM/GSMTDMA.cpp
  81
+    GSM/GSMTDMA.h
  82
+    GSM/GSMTransfer.cpp
  83
+    GSM/GSMTransfer.h
  84
+    LICENSEBLOCK
  85
+    SIP/SIPEngine.h
  86
+    SIP/SIPInterface.h
  87
+    SMS/SMSMessages.cpp
  88
+    SMS/SMSMessages.h
  89
+    SMS/SMSTransfer.cpp
  90
+    SMS/SMSTransfer.h
  91
+    TRXManager/TRXManager.cpp
  92
+    Transceiver/Complex.h
  93
+    apps/OpenBTS900.cpp
  94
+    apps/OpenBTS850.cpp
  95
+    apps/OpenBTS25c3.cpp
  96
+    tests/AGCHTest.cpp
  97
+    tests/BeaconTest.cpp
  98
+    tests/CallTest.cpp
  99
+    tests/CallTest2.cpp
  100
+    tests/LAPDmTest.cpp
  101
+    tests/LoopbackTest.cpp
  102
+    tests/RegistrationTest.cpp
  103
+    tests/TRXSimulator.cpp
  104
+
  105
+Harvind S. Samra, hssamra@kestrelsp.com:
  106
+    Control/PagerTest.cpp
  107
+    Control/RadioResource.cpp
  108
+    GSM/GSMConfig.h
  109
+    GSM/GSMTransfer.h
  110
+    LICENSEBLOCK
  111
+    Transceiver/ComplexTest.cpp
  112
+    Transceiver/Transceiver.cpp
  113
+    Transceiver/Transceiver.h
  114
+    Transceiver/USRPDevice.cpp
  115
+    Transceiver/USRPDevice.h
  116
+    Transceiver/USRPping.cpp
  117
+    Transceiver/radioInterface.cpp
  118
+    Transceiver/radioInterface.h
  119
+    Transceiver/rcvLPF_651.h
  120
+    Transceiver/runTransceiver.cpp
  121
+    Transceiver/sendLPF_961.h
  122
+    Transceiver/sigProcLib.cpp
  123
+    Transceiver/sigProcLib.h
  124
+    Transceiver/sigProcLibTest.cpp
  125
+    Transceiver/sweepGenerator.cpp
  126
+    Transceiver/testRadio.cpp
  127
+
  128
+Raffi Sevlian, raffisev@gmail.com:
  129
+    Control/CallControl.cpp
  130
+    Control/ControlCommon.cpp
  131
+    Control/ControlCommon.h
  132
+    Control/FACCHDispatch.cpp
  133
+    Control/MobilityManagement.cpp
  134
+    Control/PagerTest.cpp
  135
+    Control/RadioResource.cpp
  136
+    GSM/GSMCommon.h
  137
+    GSM/GSMConfig.h
  138
+    GSM/GSML1FEC.h
  139
+    GSM/GSML3CCElements.cpp
  140
+    GSM/GSML3CCElements.h
  141
+    GSM/GSML3CCMessages.cpp
  142
+    GSM/GSML3CCMessages.h
  143
+    GSM/GSML3CommonElements.cpp
  144
+    GSM/GSML3CommonElements.h
  145
+    GSM/GSML3MMElements.cpp
  146
+    GSM/GSML3MMElements.h
  147
+    GSM/GSML3MMMessages.cpp
  148
+    GSM/GSML3MMMessages.h
  149
+    GSM/GSML3Message.cpp
  150
+    GSM/GSML3Message.h
  151
+    GSM/GSML3RRElements.cpp
  152
+    GSM/GSML3RRElements.h
  153
+    GSM/GSML3RRMessages.cpp
  154
+    GSM/GSML3RRMessages.h
  155
+    GSM/GSMLogicalChannel.h
  156
+    GSM/GSMSAPMux.cpp
  157
+    GSM/GSMSAPMux.h
  158
+    GSM/GSMTransfer.h
  159
+    LICENSEBLOCK
  160
+    SIP/SIPEngine.cpp
  161
+    SIP/SIPInterface.cpp
  162
+    SIP/SIPInterface.h
  163
+    SIP/SIPMessage.cpp
  164
+    SIP/SIPMessage.h
  165
+    SIP/SIPUtility.cpp
  166
+    SIP/SIPUtility.h
  167
+    SMS/CMMessage.cpp
  168
+    SMS/CMMessage.h
  169
+    SMS/CMProcessor.cpp
  170
+    SMS/CMProcessor.h
  171
+    SMS/CMTest.cpp
  172
+    SMS/RLMessage.cpp
  173
+    SMS/RLMessage.h
  174
+    SMS/RLProcessor.cpp
  175
+    SMS/RLProcessor.h
  176
+    SMS/SMSMessages.cpp
  177
+    SMS/SMSMessages.h
  178
+    SMS/SMSProcessors.cpp
  179
+    SMS/SMSProcessors.h
  180
+    SMS/SMSTransfer.cpp
  181
+    SMS/SMSTransfer.h
  182
+    SMS/TLMessage.cpp
  183
+    SMS/TLMessage.h
  184
+    SMS/TLProcessor.cpp
  185
+    SMS/TLProcessor.h
  186
+    TRXManager/TRXManager.h
  187
+
  188
+Alon Levy, alonlevy1@gmail.com
  189
+    RRLPMessages.cpp
  190
+    RRLPMessages.h
  191
+    RRLPTest.cpp
  192
+
33  AsteriskConfig/Makefile.am
... ...
@@ -0,0 +1,33 @@
  1
+#
  2
+# Copyright 2008 Free Software Foundation, Inc.
  3
+#
  4
+# This software is distributed under the terms of the GNU Public License.
  5
+# See the COPYING file in the main directory for details.
  6
+#
  7
+# This program is free software: you can redistribute it and/or modify
  8
+# it under the terms of the GNU General Public License as published by
  9
+# the Free Software Foundation, either version 3 of the License, or
  10
+# (at your option) any later version.
  11
+#
  12
+# This program is distributed in the hope that it will be useful,
  13
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15
+# GNU General Public License for more details.
  16
+#
  17
+# You should have received a copy of the GNU General Public License
  18
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
  19
+#
  20
+
  21
+include $(top_srcdir)/Makefile.common
  22
+
  23
+# Install files in this directory
  24
+ourdatadir = $(datadir)/OpenBTS/Asterisk
  25
+
  26
+dist_ourdata_DATA = \
  27
+	cdr.conf \
  28
+	extensions.conf \
  29
+	indications.conf \
  30
+	logger.conf \
  31
+	modules.conf \
  32
+	README.AsteriskConf \
  33
+	sip.conf
450  AsteriskConfig/Makefile.in
... ...
@@ -0,0 +1,450 @@
  1
+# Makefile.in generated by automake 1.9.4 from Makefile.am.
  2
+# @configure_input@
  3
+
  4
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
  5
+# 2003, 2004  Free Software Foundation, Inc.
  6
+# This Makefile.in is free software; the Free Software Foundation
  7
+# gives unlimited permission to copy and/or distribute it,
  8
+# with or without modifications, as long as this notice is preserved.
  9
+
  10
+# This program is distributed in the hope that it will be useful,
  11
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  12
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  13
+# PARTICULAR PURPOSE.
  14
+
  15
+@SET_MAKE@
  16
+
  17
+#
  18
+# Copyright 2008 Free Software Foundation, Inc.
  19
+#
  20
+# This software is distributed under the terms of the GNU Public License.
  21
+# See the COPYING file in the main directory for details.
  22
+#
  23
+# This program is free software: you can redistribute it and/or modify
  24
+# it under the terms of the GNU General Public License as published by
  25
+# the Free Software Foundation, either version 3 of the License, or
  26
+# (at your option) any later version.
  27
+#
  28
+# This program is distributed in the hope that it will be useful,
  29
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
  30
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  31
+# GNU General Public License for more details.
  32
+#
  33
+# You should have received a copy of the GNU General Public License
  34
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
  35
+#
  36
+
  37
+#
  38
+# Copyright 2008 Free Software Foundation, Inc.
  39
+#
  40
+# This software is distributed under the terms of the GNU Public License.
  41
+# See the COPYING file in the main directory for details.
  42
+#
  43
+# This program is free software: you can redistribute it and/or modify
  44
+# it under the terms of the GNU General Public License as published by
  45
+# the Free Software Foundation, either version 3 of the License, or
  46
+# (at your option) any later version.
  47
+#
  48
+# This program is distributed in the hope that it will be useful,
  49
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
  50
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  51
+# GNU General Public License for more details.
  52
+#
  53
+# You should have received a copy of the GNU General Public License
  54
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
  55
+#
  56
+
  57
+srcdir = @srcdir@
  58
+top_srcdir = @top_srcdir@
  59
+VPATH = @srcdir@
  60
+pkgdatadir = $(datadir)/@PACKAGE@
  61
+pkglibdir = $(libdir)/@PACKAGE@
  62
+pkgincludedir = $(includedir)/@PACKAGE@
  63
+top_builddir = ..
  64
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  65
+INSTALL = @INSTALL@
  66
+install_sh_DATA = $(install_sh) -c -m 644
  67
+install_sh_PROGRAM = $(install_sh) -c
  68
+install_sh_SCRIPT = $(install_sh) -c
  69
+INSTALL_HEADER = $(INSTALL_DATA)
  70
+transform = $(program_transform_name)
  71
+NORMAL_INSTALL = :
  72
+PRE_INSTALL = :
  73
+POST_INSTALL = :
  74
+NORMAL_UNINSTALL = :
  75
+PRE_UNINSTALL = :
  76
+POST_UNINSTALL = :
  77
+build_triplet = @build@
  78
+host_triplet = @host@
  79
+target_triplet = @target@
  80
+DIST_COMMON = $(dist_ourdata_DATA) $(srcdir)/Makefile.am \
  81
+	$(srcdir)/Makefile.in $(top_srcdir)/Makefile.common
  82
+subdir = AsteriskConfig
  83
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  84
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
  85
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  86
+	$(ACLOCAL_M4)
  87
+mkinstalldirs = $(install_sh) -d
  88
+CONFIG_HEADER = $(top_builddir)/config.h
  89
+CONFIG_CLEAN_FILES =
  90
+SOURCES =
  91
+DIST_SOURCES =
  92
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  93
+am__vpath_adj = case $$p in \
  94
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  95
+    *) f=$$p;; \
  96
+  esac;
  97
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
  98
+am__installdirs = "$(DESTDIR)$(ourdatadir)"
  99
+dist_ourdataDATA_INSTALL = $(INSTALL_DATA)
  100
+DATA = $(dist_ourdata_DATA)
  101
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  102
+ACLOCAL = @ACLOCAL@
  103
+AMDEP_FALSE = @AMDEP_FALSE@
  104
+AMDEP_TRUE = @AMDEP_TRUE@
  105
+AMTAR = @AMTAR@
  106
+AR = @AR@
  107
+AS = @AS@
  108
+AUTOCONF = @AUTOCONF@
  109
+AUTOHEADER = @AUTOHEADER@
  110
+AUTOMAKE = @AUTOMAKE@
  111
+AWK = @AWK@
  112
+CC = @CC@
  113
+CCAS = @CCAS@
  114
+CCASFLAGS = @CCASFLAGS@
  115
+CCDEPMODE = @CCDEPMODE@
  116
+CFLAGS = @CFLAGS@
  117
+CPP = @CPP@
  118
+CPPFLAGS = @CPPFLAGS@
  119
+CXX = @CXX@
  120
+CXXCPP = @CXXCPP@
  121
+CXXDEPMODE = @CXXDEPMODE@
  122
+CXXFLAGS = @CXXFLAGS@
  123
+CYGPATH_W = @CYGPATH_W@
  124
+DEFS = @DEFS@
  125
+DEPDIR = @DEPDIR@
  126
+DLLTOOL = @DLLTOOL@
  127
+ECHO = @ECHO@
  128
+ECHO_C = @ECHO_C@
  129
+ECHO_N = @ECHO_N@
  130
+ECHO_T = @ECHO_T@
  131
+EGREP = @EGREP@
  132
+EXEEXT = @EXEEXT@
  133
+F77 = @F77@
  134
+FFLAGS = @FFLAGS@
  135
+GREP = @GREP@
  136
+INSTALL_DATA = @INSTALL_DATA@
  137
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
  138
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
  139
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  140
+LDFLAGS = @LDFLAGS@
  141
+LIBOBJS = @LIBOBJS@
  142
+LIBS = @LIBS@
  143
+LIBTOOL = @LIBTOOL@
  144
+LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
  145
+LIBUSB_LIBS = @LIBUSB_LIBS@
  146
+LN_S = @LN_S@
  147
+LTLIBOBJS = @LTLIBOBJS@
  148
+MAKEINFO = @MAKEINFO@
  149
+OBJDUMP = @OBJDUMP@
  150
+OBJEXT = @OBJEXT@
  151
+ORTP_CFLAGS = @ORTP_CFLAGS@
  152
+ORTP_LIBS = @ORTP_LIBS@
  153
+OSIP_CFLAGS = @OSIP_CFLAGS@
  154
+OSIP_LIBS = @OSIP_LIBS@
  155
+PACKAGE = @PACKAGE@
  156
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  157
+PACKAGE_NAME = @PACKAGE_NAME@
  158
+PACKAGE_STRING = @PACKAGE_STRING@
  159
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
  160
+PACKAGE_VERSION = @PACKAGE_VERSION@
  161
+PATH_SEPARATOR = @PATH_SEPARATOR@
  162
+PKG_CONFIG = @PKG_CONFIG@
  163
+RANLIB = @RANLIB@
  164
+RM_PROG = @RM_PROG@
  165
+SET_MAKE = @SET_MAKE@
  166
+SHELL = @SHELL@
  167
+STRIP = @STRIP@
  168
+VERSION = @VERSION@
  169
+ac_ct_CC = @ac_ct_CC@
  170
+ac_ct_CXX = @ac_ct_CXX@
  171
+ac_ct_F77 = @ac_ct_F77@
  172
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
  173
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
  174
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
  175
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
  176
+am__include = @am__include@
  177
+am__leading_dot = @am__leading_dot@
  178
+am__quote = @am__quote@
  179
+am__tar = @am__tar@
  180
+am__untar = @am__untar@
  181
+bindir = @bindir@
  182
+build = @build@
  183
+build_alias = @build_alias@
  184
+build_cpu = @build_cpu@
  185
+build_os = @build_os@
  186
+build_vendor = @build_vendor@
  187
+datadir = @datadir@
  188
+datarootdir = @datarootdir@
  189
+docdir = @docdir@
  190
+dvidir = @dvidir@
  191
+exec_prefix = @exec_prefix@
  192
+host = @host@
  193
+host_alias = @host_alias@
  194
+host_cpu = @host_cpu@
  195
+host_os = @host_os@
  196
+host_vendor = @host_vendor@
  197
+htmldir = @htmldir@
  198
+includedir = @includedir@
  199
+infodir = @infodir@
  200
+install_sh = @install_sh@
  201
+libdir = @libdir@
  202
+libexecdir = @libexecdir@
  203
+localedir = @localedir@
  204
+localstatedir = @localstatedir@
  205
+mandir = @mandir@
  206
+mkdir_p = @mkdir_p@
  207
+oldincludedir = @oldincludedir@
  208
+pdfdir = @pdfdir@
  209
+prefix = @prefix@
  210
+program_transform_name = @program_transform_name@
  211
+psdir = @psdir@
  212
+sbindir = @sbindir@
  213
+sharedstatedir = @sharedstatedir@
  214
+sysconfdir = @sysconfdir@
  215
+target = @target@
  216
+target_alias = @target_alias@
  217
+target_cpu = @target_cpu@
  218
+target_os = @target_os@
  219
+target_vendor = @target_vendor@
  220
+COMMON_INCLUDEDIR = $(top_srcdir)/CommonLibs
  221
+CONTROL_INCLUDEDIR = $(top_srcdir)/Control
  222
+GSM_INCLUDEDIR = $(top_srcdir)/GSM
  223
+SIP_INCLUDEDIR = $(top_srcdir)/SIP
  224
+SMS_INCLUDEDIR = $(top_srcdir)/SMS
  225
+TRX_INCLUDEDIR = $(top_srcdir)/TRXManager
  226
+GLOBALS_INCLUDEDIR = $(top_srcdir)/Globals
  227
+CLI_INCLUDEDIR = $(top_srcdir)/CLI
  228
+SQLITE_INCLUDEDIR = $(top_srcdir)/sqlite3
  229
+SR_INCLUDEDIR = $(top_srcdir)/SR
  230
+STD_DEFINES_AND_INCLUDES = \
  231
+	-I$(COMMON_INCLUDEDIR) \
  232
+	-I$(CONTROL_INCLUDEDIR) \
  233
+	-I$(GSM_INCLUDEDIR) \
  234
+	-I$(SIP_INCLUDEDIR) \
  235
+	-I$(SMS_INCLUDEDIR) \
  236
+	-I$(TRX_INCLUDEDIR) \
  237
+	-I$(GLOBALS_INCLUDEDIR) \
  238
+	-I$(CLI_INCLUDEDIR) \
  239
+	-I$(SR_INCLUDEDIR) \
  240
+	-I$(SQLITE_INCLUDEDIR)
  241
+
  242
+COMMON_LA = $(top_builddir)/CommonLibs/libcommon.la
  243
+GSM_LA = $(top_builddir)/GSM/libGSM.la
  244
+SIP_LA = $(top_builddir)/SIP/libSIP.la
  245
+SMS_LA = $(top_builddir)/SMS/libSMS.la
  246
+TRX_LA = $(top_builddir)/TRXManager/libtrxmanager.la
  247
+CONTROL_LA = $(top_builddir)/Control/libcontrol.la
  248
+GLOBALS_LA = $(top_builddir)/Globals/libglobals.la
  249
+CLI_LA = $(top_builddir)/CLI/libcli.la
  250
+SR_LA = $(top_builddir)/SR/libSR.la
  251
+SQLITE_LA = $(top_builddir)/sqlite3/libsqlite.la
  252
+MOSTLYCLEANFILES = *~
  253
+
  254
+# Install files in this directory
  255
+ourdatadir = $(datadir)/OpenBTS/Asterisk
  256
+dist_ourdata_DATA = \
  257
+	cdr.conf \
  258
+	extensions.conf \
  259
+	indications.conf \
  260
+	logger.conf \
  261
+	modules.conf \
  262
+	README.AsteriskConf \
  263
+	sip.conf
  264
+
  265
+all: all-am
  266
+
  267
+.SUFFIXES:
  268
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/Makefile.common $(am__configure_deps)
  269
+	@for dep in $?; do \
  270
+	  case '$(am__configure_deps)' in \
  271
+	    *$$dep*) \
  272
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
  273
+		&& exit 0; \
  274
+	      exit 1;; \
  275
+	  esac; \
  276
+	done; \
  277
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  AsteriskConfig/Makefile'; \
  278
+	cd $(top_srcdir) && \
  279
+	  $(AUTOMAKE) --gnu  AsteriskConfig/Makefile
  280
+.PRECIOUS: Makefile
  281
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  282
+	@case '$?' in \
  283
+	  *config.status*) \
  284
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
  285
+	  *) \
  286
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
  287
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
  288
+	esac;
  289
+
  290
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  291
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  292
+
  293
+$(top_srcdir)/configure:  $(am__configure_deps)
  294
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  295
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
  296
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  297
+
  298
+mostlyclean-libtool:
  299
+	-rm -f *.lo
  300
+
  301
+clean-libtool:
  302
+	-rm -rf .libs _libs
  303
+
  304
+distclean-libtool:
  305
+	-rm -f libtool
  306
+uninstall-info-am:
  307
+install-dist_ourdataDATA: $(dist_ourdata_DATA)
  308
+	@$(NORMAL_INSTALL)
  309
+	test -z "$(ourdatadir)" || $(mkdir_p) "$(DESTDIR)$(ourdatadir)"
  310
+	@list='$(dist_ourdata_DATA)'; for p in $$list; do \
  311
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  312
+	  f=$(am__strip_dir) \
  313
+	  echo " $(dist_ourdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(ourdatadir)/$$f'"; \
  314
+	  $(dist_ourdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(ourdatadir)/$$f"; \
  315
+	done
  316
+
  317
+uninstall-dist_ourdataDATA:
  318
+	@$(NORMAL_UNINSTALL)
  319
+	@list='$(dist_ourdata_DATA)'; for p in $$list; do \
  320
+	  f=$(am__strip_dir) \
  321
+	  echo " rm -f '$(DESTDIR)$(ourdatadir)/$$f'"; \
  322
+	  rm -f "$(DESTDIR)$(ourdatadir)/$$f"; \
  323
+	done
  324
+tags: TAGS
  325
+TAGS:
  326
+
  327
+ctags: CTAGS
  328
+CTAGS:
  329
+
  330
+
  331
+distdir: $(DISTFILES)
  332
+	$(mkdir_p) $(distdir)/..
  333
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
  334
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
  335
+	list='$(DISTFILES)'; for file in $$list; do \
  336
+	  case $$file in \
  337
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
  338
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
  339
+	  esac; \
  340
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  341
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
  342
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
  343
+	    dir="/$$dir"; \
  344
+	    $(mkdir_p) "$(distdir)$$dir"; \
  345
+	  else \
  346
+	    dir=''; \
  347
+	  fi; \
  348
+	  if test -d $$d/$$file; then \
  349
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  350
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
  351
+	    fi; \
  352
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
  353
+	  else \
  354
+	    test -f $(distdir)/$$file \
  355
+	    || cp -p $$d/$$file $(distdir)/$$file \
  356
+	    || exit 1; \
  357
+	  fi; \
  358
+	done
  359
+check-am: all-am
  360
+check: check-am
  361
+all-am: Makefile $(DATA)
  362
+installdirs:
  363
+	for dir in "$(DESTDIR)$(ourdatadir)"; do \
  364
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
  365
+	done
  366
+install: install-am
  367
+install-exec: install-exec-am
  368
+install-data: install-data-am
  369
+uninstall: uninstall-am
  370
+
  371
+install-am: all-am
  372
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  373
+
  374
+installcheck: installcheck-am
  375
+install-strip:
  376
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  377
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  378
+	  `test -z '$(STRIP)' || \
  379
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
  380
+mostlyclean-generic:
  381
+	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
  382
+
  383
+clean-generic:
  384
+
  385
+distclean-generic:
  386
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
  387
+
  388
+maintainer-clean-generic:
  389
+	@echo "This command is intended for maintainers to use"
  390
+	@echo "it deletes files that may require special tools to rebuild."
  391
+clean: clean-am
  392
+
  393
+clean-am: clean-generic clean-libtool mostlyclean-am
  394
+
  395
+distclean: distclean-am
  396
+	-rm -f Makefile
  397
+distclean-am: clean-am distclean-generic distclean-libtool
  398
+
  399
+dvi: dvi-am
  400
+
  401
+dvi-am:
  402
+
  403
+html: html-am
  404
+
  405
+info: info-am
  406
+
  407
+info-am:
  408
+
  409
+install-data-am: install-dist_ourdataDATA
  410
+
  411
+install-exec-am:
  412
+
  413
+install-info: install-info-am
  414
+
  415
+install-man:
  416
+
  417
+installcheck-am:
  418
+
  419
+maintainer-clean: maintainer-clean-am
  420
+	-rm -f Makefile
  421
+maintainer-clean-am: distclean-am maintainer-clean-generic
  422
+
  423
+mostlyclean: mostlyclean-am
  424
+
  425
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
  426
+
  427
+pdf: pdf-am
  428
+
  429
+pdf-am:
  430
+
  431
+ps: ps-am
  432
+
  433
+ps-am:
  434
+
  435
+uninstall-am: uninstall-dist_ourdataDATA uninstall-info-am
  436
+
  437
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
  438
+	distclean distclean-generic distclean-libtool distdir dvi \
  439
+	dvi-am html html-am info info-am install install-am \
  440
+	install-data install-data-am install-dist_ourdataDATA \
  441
+	install-exec install-exec-am install-info install-info-am \
  442
+	install-man install-strip installcheck installcheck-am \
  443
+	installdirs maintainer-clean maintainer-clean-generic \
  444
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
  445
+	ps ps-am uninstall uninstall-am uninstall-dist_ourdataDATA \
  446
+	uninstall-info-am
  447
+
  448
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
  449
+# Otherwise a system limit (for SysV at least) may be exceeded.
  450
+.NOEXPORT:
4  AsteriskConfig/README.AsteriskConf
... ...
@@ -0,0 +1,4 @@
  1
+This file contains example Asterisk configuration files for the OpenBTS Asterisk server.
  2
+
  3
+This file does not contain REAL configuration files, since those would include real IMSIs.
  4
+
148  AsteriskConfig/cdr.conf
... ...
@@ -0,0 +1,148 @@
  1
+;
  2
+; Asterisk Call Detail Record engine configuration
  3
+;
  4
+; CDR is Call Detail Record, which provides logging services via a variety of
  5
+; pluggable backend modules.  Detailed call information can be recorded to
  6
+; databases, files, etc.  Useful for billing, fraud prevention, compliance with
  7
+; Sarbanes-Oxley aka The Enron Act, QOS evaluations, and more.
  8
+;
  9
+
  10
+[general]
  11
+
  12
+; Define whether or not to use CDR logging.  Setting this to "no" will override
  13
+; any loading of backend CDR modules.  Default is "yes".
  14
+;enable=yes
  15
+
  16
+; Define whether or not to log unanswered calls. Setting this to "yes" will
  17
+; report every attempt to ring a phone in dialing attempts, when it was not 
  18
+; answered. For example, if you try to dial 3 extensions, and this option is "yes",
  19
+; you will get 3 CDR's, one for each phone that was rung. Default is "no". Some
  20
+; find this information horribly useless. Others find it very valuable. Note, in "yes"
  21
+; mode, you will see one CDR, with one of the call targets on one side, and the originating
  22
+; channel on the other, and then one CDR for each channel attempted. This may seem 
  23
+; redundant, but cannot be helped.
  24
+;unanswered = no
  25
+
  26
+; Define the CDR batch mode, where instead of posting the CDR at the end of
  27
+; every call, the data will be stored in a buffer to help alleviate load on the
  28
+; asterisk server.  Default is "no".
  29
+;
  30
+; WARNING WARNING WARNING
  31
+; Use of batch mode may result in data loss after unsafe asterisk termination
  32
+; ie. software crash, power failure, kill -9, etc.
  33
+; WARNING WARNING WARNING
  34
+;
  35
+;batch=no
  36
+
  37
+; Define the maximum number of CDRs to accumulate in the buffer before posting
  38
+; them to the backend engines.  'batch' must be set to 'yes'.  Default is 100.
  39
+;size=100
  40
+
  41
+; Define the maximum time to accumulate CDRs in the buffer before posting them
  42
+; to the backend engines.  If this time limit is reached, then it will post the
  43
+; records, regardless of the value defined for 'size'.  'batch' must be set to
  44
+; 'yes'.  Note that time is in seconds.  Default is 300 (5 minutes).
  45
+;time=300
  46
+
  47
+; The CDR engine uses the internal asterisk scheduler to determine when to post
  48
+; records.  Posting can either occur inside the scheduler thread, or a new
  49
+; thread can be spawned for the submission of every batch.  For small batches,
  50
+; it might be acceptable to just use the scheduler thread, so set this to "yes".
  51
+; For large batches, say anything over size=10, a new thread is recommended, so
  52
+; set this to "no".  Default is "no".
  53
+;scheduleronly=no
  54
+
  55
+; When shutting down asterisk, you can block until the CDRs are submitted.  If
  56
+; you don't, then data will likely be lost.  You can always check the size of
  57
+; the CDR batch buffer with the CLI "cdr status" command.  To enable blocking on
  58
+; submission of CDR data during asterisk shutdown, set this to "yes".  Default
  59
+; is "yes".
  60
+;safeshutdown=yes
  61
+
  62
+; Normally, CDR's are not closed out until after all extensions are finished
  63
+; executing.  By enabling this option, the CDR will be ended before executing
  64
+; the "h" extension so that CDR values such as "end" and "billsec" may be
  65
+; retrieved inside of of this extension.
  66
+;endbeforehexten=no
  67
+
  68
+;
  69
+;
  70
+; CHOOSING A CDR "BACKEND"  (what kind of output to generate)
  71
+;
  72
+; To choose a backend, you have to make sure either the right category is 
  73
+; defined in this file, or that the appropriate config file exists, and has the 
  74
+; proper definitions in it. If there are any problems, usually, the entry will
  75
+; silently ignored, and you get no output.
  76
+; 
  77
+; Also, please note that you can generate CDR records in as many formats as you 
  78
+; wish. If you configure 5 different CDR formats, then each event will be logged
  79
+; in 5 different places! In the example config files, all formats are commented
  80
+; out except for the cdr-csv format.
  81
+;
  82
+; Here are all the possible back ends:
  83
+;
  84
+;   csv, custom, manager, odbc, pgsql, radius, sqlite, tds 
  85
+;    (also, mysql is available via the asterisk-addons, due to licensing
  86
+;     requirements)
  87
+;   (please note, also, that other backends can be created, by creating
  88
+;    a new backend module in the source cdr/ directory!)
  89
+;
  90
+; Some of the modules required to provide these backends will not build or install
  91
+; unless some dependency requirements are met. Examples of this are pgsql, odbc,
  92
+; etc. If you are not getting output as you would expect, the first thing to do
  93
+; is to run the command "make menuselect", and check what modules are available,
  94
+; by looking in the "2. Call Detail Recording" option in the main menu. If your
  95
+; backend is marked with XXX, you know that the "configure" command could not find
  96
+; the required libraries for that option.
  97
+;
  98
+; To get CDRs to be logged to the plain-jane /var/log/asterisk/cdr-csv/Master.csv 
  99
+; file, define the [csv] category in this file. No database necessary. The example
  100
+; config files are set up to provide this kind of output by default.
  101
+;
  102
+; To get custom csv CDR records, make sure the cdr_custom.conf file
  103
+; is present, and contains the proper [mappings] section. The advantage to
  104
+; using this backend, is that you can define which fields to output, and in
  105
+; what order. By default, the example configs are set up to mimic the cdr-csv
  106
+; output. If you don't make any changes to the mappings, you are basically generating
  107
+; the same thing as cdr-csv, but expending more CPU cycles to do so!
  108
+;
  109
+; To get manager events generated, make sure the cdr_manager.conf file exists,
  110
+; and the [general] section is defined, with the single variable 'enabled = yes'.
  111
+;
  112
+; For odbc, make sure all the proper libs are installed, that "make menuselect"
  113
+; shows that the modules are available, and the cdr_odbc.conf file exists, and
  114
+; has a [global] section with the proper variables defined.
  115
+;
  116
+; For pgsql, make sure all the proper libs are installed, that "make menuselect"
  117
+; shows that the modules are available, and the cdr_pgsql.conf file exists, and
  118
+; has a [global] section with the proper variables defined.
  119
+;
  120
+; For logging to radius databases, make sure all the proper libs are installed, that 
  121
+; "make menuselect" shows that the modules are available, and the [radius]
  122
+; category is defined in this file, and in that section, make sure the 'radiuscfg'
  123
+; variable is properly pointing to an existing radiusclient.conf file.
  124
+;
  125
+; For logging to sqlite databases, make sure the 'cdr.db' file exists in the log directory,
  126
+; which is usually /var/log/asterisk. Of course, the proper libraries should be available
  127
+; during the 'configure' operation.
  128
+;
  129
+; For tds logging, make sure the proper libraries are available during the 'configure' 
  130
+; phase, and that cdr_tds.conf exists and is properly set up with a [global] category.
  131
+;
  132
+; Also, remember, that if you wish to log CDR info to a database, you will have to define
  133
+; a specific table in that databse to make things work! See the doc directory for more details
  134
+; on how to create this table in each database.
  135
+;
  136
+
  137
+[csv]
  138
+usegmtime=yes    ; log date/time in GMT.  Default is "no"
  139
+loguniqueid=yes  ; log uniqueid.  Default is "no
  140
+loguserfield=yes ; log user field.  Default is "no
  141
+
  142
+;[radius]
  143
+;usegmtime=yes    ; log date/time in GMT
  144
+;loguniqueid=yes  ; log uniqueid
  145
+;loguserfield=yes ; log user field
  146
+; Set this to the location of the radiusclient-ng configuration file
  147
+; The default is /etc/radiusclient-ng/radiusclient.conf
  148
+;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf
57  AsteriskConfig/extensions.conf
... ...
@@ -0,0 +1,57 @@
  1
+[globals]
  2
+
  3
+
  4
+[default]
  5
+; This is the context for handsets that are allowed to attached via open registration.
  6
+; Normally, this context is only used for testing.
  7
+
  8
+; These are test extensions that you might want to disable after installation.
  9
+
  10
+; Create an extension, 2600, for evaluating echo latency.
  11
+exten => 2600,1,Answer()                     ; Do the echo test
  12
+exten => 2600,n,Echo                     ; Do the echo test
  13
+exten => 2600,n,Hangup
  14
+
  15
+; The 2101 extension is used for factory testing with zoiper.
  16
+exten => 2101,1,Dial(SIP/zoiper)
  17
+
  18
+; The 2100 extension is for factory testing with the test SIM.
  19
+exten => 2100,1,Dial(SIP/IMSI001010000000000)
  20
+
  21
+
  22
+
  23
+[outbound-trunk]
  24
+; If you had an external trunk, you would dial it here.
  25
+exten => _N.,1,Answer()
  26
+
  27
+
  28
+
  29
+
  30
+
  31
+[phones]
  32
+; This is the context for handsets provisioned through the realtime database.
  33
+; This assumes that OpenBTS units all are running their SIP interfaces on port 5062.
  34
+exten => _N.,1,Set(Name=${ODBC_SQL(select dial from dialdata_table where exten = \"${EXTEN}\")})
  35
+exten => _N.,n,GotoIf($["${Name}" = ""] ?outbound-trunk,${EXTEN},1)
  36
+exten => _N.,n,Set(IPAddr=${ODBC_SQL(select ipaddr from sip_buddies where name = \"${Name}\")})
  37
+exten => _N.,n,GotoIf($["${IPAddr}" = ""] ?outbound-trunk,${EXTEN},1)
  38
+exten => _N.,n,Dial(SIP/${Name}@${IPAddr}:5062)
  39
+
  40
+
  41
+
  42
+[sip-local]
  43
+; This context is the union of all of the in-network contexts.
  44
+include => default
  45
+include => phones
  46
+
  47
+
  48
+
  49
+
  50
+[sip-external]
  51
+; This is the top-level context that gives access to out-of-network calling.
  52
+; also includes the in-network calling.
  53
+include => sip-local
  54
+include => outbound-trunk
  55
+
  56
+
  57
+
733  AsteriskConfig/indications.conf
... ...
@@ -0,0 +1,733 @@
  1
+; indications.conf
  2
+; Configuration file for location specific tone indications
  3
+; used by the pbx_indications module.
  4
+;
  5
+; NOTE:
  6
+;    When adding countries to this file, please keep them in alphabetical
  7
+;    order according to the 2-character country codes!
  8
+;
  9
+; The [general] category is for certain global variables.
  10
+; All other categories are interpreted as location specific indications
  11
+;
  12
+;
  13
+[general]
  14
+country=us		; default location
  15
+
  16
+
  17
+; [example]
  18
+; description = string
  19
+;      The full name of your country, in English.
  20
+; alias = iso[,iso]*
  21
+;      List of other countries 2-letter iso codes, which have the same
  22
+;      tone indications.
  23
+; ringcadence = num[,num]*
  24
+;      List of durations the physical bell rings.
  25
+; dial = tonelist
  26
+;      Set of tones to be played when one picks up the hook.
  27
+; busy = tonelist
  28
+;      Set of tones played when the receiving end is busy.
  29
+; congestion = tonelist
  30
+;      Set of tones played when there is some congestion (on the network?)
  31
+; callwaiting = tonelist
  32
+;      Set of tones played when there is a call waiting in the background.
  33
+; dialrecall = tonelist
  34
+;      Not well defined; many phone systems play a recall dial tone after hook
  35
+;      flash.
  36
+; record = tonelist
  37
+;      Set of tones played when call recording is in progress.
  38
+; info = tonelist
  39
+;      Set of tones played with special information messages (e.g., "number is
  40
+;      out of service")
  41
+; 'name' = tonelist
  42
+;      Every other variable will be available as a shortcut for the "PlayList" command
  43
+;      but will not be used automatically by Asterisk.
  44
+;
  45
+;
  46
+; The tonelist itself is defined by a comma-separated sequence of elements.
  47
+; Each element consist of a frequency (f) with an optional duration (in ms)
  48
+; attached to it (f/duration). The frequency component may be a mixture of two
  49
+; frequencies (f1+f2) or a frequency modulated by another frequency (f1*f2).
  50
+; The implicit modulation depth is fixed at 90%, though.
  51
+; If the list element starts with a !, that element is NOT repeated,
  52
+; therefore, only if all elements start with !, the tonelist is time-limited,
  53
+; all others will repeat indefinitely.
  54
+;
  55
+; concisely:
  56
+;   element = [!]freq[+|*freq2][/duration]
  57
+;   tonelist = element[,element]*
  58
+;
  59
+; Please note that SPACES ARE NOT ALLOWED in tone lists!
  60
+;
  61
+
  62
+[at]
  63
+description = Austria
  64
+ringcadence = 1000,5000
  65
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
  66
+dial = 420
  67
+busy = 420/400,0/400
  68
+ring = 420/1000,0/5000
  69
+congestion = 420/200,0/200
  70
+callwaiting = 420/40,0/1960
  71
+dialrecall = 420
  72
+; RECORDTONE - not specified
  73
+record = 1400/80,0/14920
  74
+info = 950/330,1450/330,1850/330,0/1000
  75
+stutter = 380+420
  76
+
  77
+[au]
  78
+description = Australia
  79
+; Reference http://www.acif.org.au/__data/page/3303/S002_2001.pdf
  80
+; Normal Ring
  81
+ringcadence = 400,200,400,2000
  82
+; Distinctive Ring 1 - Forwarded Calls
  83
+; 400,400,200,200,400,1400
  84
+; Distinctive Ring 2 - Selective Ring 2 + Operator + Recall
  85
+; 400,400,200,2000
  86
+; Distinctive Ring 3 - Multiple Subscriber Number 1
  87
+; 200,200,400,2200
  88
+; Distinctive Ring 4 - Selective Ring 1 + Centrex
  89
+; 400,2600
  90
+; Distinctive Ring 5 - Selective Ring 3
  91
+; 400,400,200,400,200,1400
  92
+; Distinctive Ring 6 - Multiple Subscriber Number 2
  93
+; 200,400,200,200,400,1600
  94
+; Distinctive Ring 7 - Multiple Subscriber Number 3 + Data Privacy
  95
+; 200,400,200,400,200,1600
  96
+; Tones
  97
+dial = 413+438
  98
+busy = 425/375,0/375
  99
+ring = 413+438/400,0/200,413+438/400,0/2000
  100
+; XXX Congestion: Should reduce by 10 db every other cadence XXX
  101
+congestion = 425/375,0/375,420/375,0/375
  102
+callwaiting = 425/200,0/200,425/200,0/4400
  103
+dialrecall = 413+438
  104
+; Record tone used for Call Intrusion/Recording or Conference
  105
+record = !425/1000,!0/15000,425/360,0/15000
  106
+info = 425/2500,0/500
  107
+; Other Australian Tones
  108
+; The STD "pips" indicate the call is not an untimed local call
  109
+std = !525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100
  110
+; Facility confirmation tone (eg. Call Forward Activated)
  111
+facility = 425
  112
+; Message Waiting "stutter" dialtone
  113
+stutter = 413+438/100,0/40
  114
+; Ringtone for calls to Telstra mobiles
  115
+ringmobile = 400+450/400,0/200,400+450/400,0/2000
  116
+
  117
+[bg]
  118
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
  119
+description = Bulgaria
  120
+ringdance = 1000,4000
  121
+;
  122
+dial = 425
  123
+busy = 425/500,0/500
  124
+ring = 425/1000,0/4000
  125
+congestion = 425/250,0/250
  126
+callwaiting = 425/150,0/150,425/150,0/4000
  127
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
  128
+record = 1400/425,0/15000
  129
+info = 950/330,1400/330,1800/330,0/1000
  130
+stutter = 425/1500,0/100
  131
+
  132
+[br]
  133
+description = Brazil
  134
+ringcadence = 1000,4000
  135
+dial = 425
  136
+busy = 425/250,0/250
  137
+ring = 425/1000,0/4000
  138
+congestion = 425/250,0/250,425/750,0/250
  139
+callwaiting = 425/50,0/1000
  140
+; Dialrecall not used in Brazil standard (using UK standard)
  141
+dialrecall = 350+440
  142
+; Record tone is not used in Brazil, use busy tone
  143
+record = 425/250,0/250
  144
+; Info not used in Brazil standard (using UK standard)
  145
+info = 950/330,1400/330,1800/330
  146
+stutter = 350+440
  147
+
  148
+[be]
  149
+description = Belgium
  150
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
  151
+ringcadence = 1000,3000
  152
+dial = 425
  153
+busy = 425/500,0/500
  154
+ring = 425/1000,0/3000
  155
+congestion = 425/167,0/167
  156
+callwaiting = 1400/175,0/175,1400/175,0/3500
  157
+; DIALRECALL - not specified
  158
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440"
  159
+; RECORDTONE - not specified
  160
+record = 1400/500,0/15000
  161
+info = 900/330,1400/330,1800/330,0/1000
  162
+stutter = 425/1000,0/250
  163
+
  164
+[ch]
  165
+description = Switzerland
  166
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
  167
+ringcadence = 1000,4000
  168
+dial = 425
  169
+busy = 425/500,0/500
  170
+ring = 425/1000,0/4000
  171
+congestion = 425/200,0/200
  172
+callwaiting = 425/200,0/200,425/200,0/4000
  173
+; DIALRECALL - not specified
  174
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
  175
+; RECORDTONE - not specified
  176
+record = 1400/80,0/15000
  177
+info = 950/330,1400/330,1800/330,0/1000
  178
+stutter = 425+340/1100,0/1100
  179
+
  180
+[cl]
  181
+description = Chile
  182
+; According to specs from Telefonica CTC Chile
  183
+ringcadence = 1000,3000
  184
+dial = 400
  185
+busy = 400/500,0/500
  186
+ring = 400/1000,0/3000
  187
+congestion = 400/200,0/200
  188
+callwaiting = 400/250,0/8750
  189
+dialrecall = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
  190
+record = 1400/500,0/15000
  191
+info = 950/333,1400/333,1800/333,0/1000
  192
+stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
  193
+
  194
+[cn]
  195
+description = China
  196
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
  197
+ringcadence = 1000,4000
  198
+dial = 450
  199
+busy = 450/350,0/350
  200
+ring = 450/1000,0/4000
  201
+congestion = 450/700,0/700
  202
+callwaiting = 450/400,0/4000
  203
+dialrecall = 450
  204
+record = 950/400,0/10000
  205
+info = 450/100,0/100,450/100,0/100,450/100,0/100,450/400,0/400
  206
+; STUTTER - not specified
  207
+stutter = 450+425
  208
+
  209
+[cz]
  210
+description = Czech Republic
  211
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
  212
+ringcadence = 1000,4000
  213
+dial = 425/330,0/330,425/660,0/660
  214
+busy = 425/330,0/330
  215
+ring = 425/1000,0/4000
  216
+congestion = 425/165,0/165
  217
+callwaiting = 425/330,0/9000
  218
+; DIALRECALL - not specified
  219
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425/330,0/330,425/660,0/660
  220
+; RECORDTONE - not specified
  221
+record = 1400/500,0/14000
  222
+info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
  223
+; STUTTER - not specified
  224
+stutter = 425/450,0/50
  225
+
  226
+[de]