From f7e1fd840bdc7a009c371a62c448e5e4c0d6a6a6 Mon Sep 17 00:00:00 2001 From: Tim Sawyer Date: Fri, 3 May 2024 10:29:48 -0700 Subject: [PATCH] Add Samples Add sample files to configs. Closes issues #312 and #316 Changes to be committed: new file: configs/samples/beagle.conf.sample new file: configs/samples/dnsmgr.conf.sample new file: configs/samples/echolink.conf.sample new file: configs/samples/extensions.conf.sample new file: configs/samples/gps.conf.sample new file: configs/samples/iax.conf.sample new file: configs/samples/logger.conf.sample new file: configs/samples/manager.conf.sample new file: configs/samples/modules.conf.sample new file: configs/samples/savenode.conf.sample new file: configs/samples/voter.conf.sample Changes not staged for commit: modified: configs/samples/beagle.conf.sample modified: configs/samples/echolink.conf.sample deleted: configs/samples/extensions.conf.sample deleted: configs/samples/logger.conf.sample deleted: configs/samples/manager.conf.sample deleted: configs/samples/modules.conf.sample deleted: configs/samples/savenode.conf.sample deleted: configs/samples/iax.conf.sample --- configs/samples/beagle.conf.sample | 25 +++ configs/samples/dnsmgr.conf.sample | 5 + configs/samples/echolink.conf.sample | 53 ++++++ configs/samples/extensions.conf.sample | 175 ++++++++++++++++++++ configs/samples/gps.conf.sample | 35 ++++ configs/samples/iax.conf.sample | 122 ++++++++++++++ configs/samples/logger.conf.sample | 20 +++ configs/samples/manager.conf.sample | 16 ++ configs/samples/modules.conf.sample | 213 +++++++++++++++++++++++++ configs/samples/savenode.conf.sample | 4 + configs/samples/voter.conf.sample | 57 +++++++ 11 files changed, 725 insertions(+) create mode 100644 configs/samples/beagle.conf.sample create mode 100644 configs/samples/dnsmgr.conf.sample create mode 100644 configs/samples/echolink.conf.sample create mode 100644 configs/samples/extensions.conf.sample create mode 100644 configs/samples/gps.conf.sample create mode 100644 configs/samples/iax.conf.sample create mode 100644 configs/samples/logger.conf.sample create mode 100644 configs/samples/manager.conf.sample create mode 100644 configs/samples/modules.conf.sample create mode 100644 configs/samples/savenode.conf.sample create mode 100644 configs/samples/voter.conf.sample diff --git a/configs/samples/beagle.conf.sample b/configs/samples/beagle.conf.sample new file mode 100644 index 0000000..7420bc3 --- /dev/null +++ b/configs/samples/beagle.conf.sample @@ -0,0 +1,25 @@ +; If you are going to use this channel driver, you MUST enable it in modules.conf +; enable it in modules.conf +; change: +; noload => chan_beagle.so ; Beagleboard Radio Interface Channel Driver +; to: +; load => chan_beagle.so ; Beagleboard Radio Interface Channel Driver + +[general] + +[1] +carrierfrom = hwinvert +ctcssfrom = hwinvert +invertptt = 0 +duplex = 1 +rxondelay = 0 +eeprom = 0 + +[2] +carrierfrom = hwinvert +ctcssfrom = hwinvert +invertptt = 0 +duplex = 1 +rxondelay = 0 +eeprom = 0 + diff --git a/configs/samples/dnsmgr.conf.sample b/configs/samples/dnsmgr.conf.sample new file mode 100644 index 0000000..248d3e4 --- /dev/null +++ b/configs/samples/dnsmgr.conf.sample @@ -0,0 +1,5 @@ +[general] +enable=yes ; enable creation of managed DNS lookups + ; default is 'no' +refreshinterval=300 ; refresh managed DNS lookups every seconds + ; default is 300 (5 minutes) diff --git a/configs/samples/echolink.conf.sample b/configs/samples/echolink.conf.sample new file mode 100644 index 0000000..5262113 --- /dev/null +++ b/configs/samples/echolink.conf.sample @@ -0,0 +1,53 @@ +; If you are going to use this channel driver, you MUST enable it in modules.conf +; change: +; noload => chan_echolink.so ; echolink Channel Driver +; to: +; load => chan_echolink ; echolink Channel Driver + +[el0] +call = INVALID ; Change this! +pwd = INVALID ; Change this! +name = YOUR NAME ; Change this! +qth = INVALID ; Change this! +email = INVALID ; Change this! +node = 000000 ; Change this! +; Data for EchoLink Status Page +lat = 0.0 ; Latitude in decimal degrees +lon = 0.0 ; Longitude in decimal degrees +freq = 0.0 ; not mandatory Frequency in MHz +tone = 0.0 ; not mandatory CTCSS Tone (0 for none) +power = 0 ; 0=0W, 1=1W, 2=4W, 3=9W, 4=16W, 5=25W, 6=36W, 7=49W, 8=64W, 9=81W (Power in Watts) +height = 0 ; 0=10 1=20 2=40 3=80 4=160 5=320 6=640 7=1280 8=2560 9=5120 (AMSL in Feet) +gain = 0 ; Gain in db (0-9) +dir = 0 ; 0=omni 1=45deg 2=90deg 3=135deg 4=180deg 5=225deg 6=270deg 7=315deg 8=360deg (Direction) + +maxstns = 20 ; Max Stations + +rtcptimeout = 10 ; Max number of missed heartbeats from EL +recfile = /tmp/echolink_recorded.gsm ; +astnode = 1999 ; Change this! +context = radio-secure ; Default in code is echolink-in + +; Max 4 servers +server1 = nasouth.echolink.org +server2 = naeast.echolink.org +server3 = servers.echolink.org +server4 = backup.echolink.org + +; To deny w6xxx you would add the statement: deny = w6xxx +; To prohibit computer-based connections you would write: permit = *-* +; To allow access to only a select group of callsigns: permit = w6abc,w6def,... + +; permit ; comma delimited list of callsign, type (-r) +; deny + + +; Remote text commands thru netcat: +; o.conip (request a connect) +; o.dconip (request a disconnect) +; o.rec (turn on/off recording) + +; ipaddr +; port + +#tryinclude custom/echolink.conf diff --git a/configs/samples/extensions.conf.sample b/configs/samples/extensions.conf.sample new file mode 100644 index 0000000..b395c8d --- /dev/null +++ b/configs/samples/extensions.conf.sample @@ -0,0 +1,175 @@ +[general] + +static = yes ; These two lines prevent the command-line interface +writeprotect = yes ; from overwriting the config file. Leave them here. + +[globals] +HOMENPA = 999 ; change this to your Area Code +NODE = 1999 ; change this to your node number + +[default] +exten => i,1,Hangup + +[radio-secure] +;exten => ${NODE},1,rpt(${EXTEN}) +exten => _XXXX!,1,NoOp(Connect from node: ${CALLERID(num)}) + same => n,NoOp(Connect to: ${EXTEN}) + ;same => n,NoOp(The IAXPEER is ${IAXPEER(CURRENTCHANNEL)}) + same => n,NoOp(The Channel IP is ${CHANNEL(peerip)}) + + ;If channel IP eq localhost go to connect + same => n,GotoIf($["${CHANNEL(peerip)}" = "127.0.0.1"]?connect) + + ;If allowlist/extension dosen't exist check the denylist + same => n,GotoIf($[${DB_KEYCOUNT(allowlist/${EXTEN})} = 0]?denylist) ;goto denylist + ;If allowlist/extension/callerid exists go to connect + same => n,GotoIf(${DB_EXISTS(allowlist/${EXTEN}/${CALLERID(num)})}?connect) ;goto connect + same => n,NoOp(${EXTEN} not in allowlist, Hangup) + same => n,Hangup + + ;If denylist/extension/callerID doesn't exist goto connect + same => n(denylist),GotoIf(${DB_EXISTS(denylist/${EXTEN}/${CALLERID(num)})}?:connect) ;don't goto connect + same => n,NoOp(${EXTEN} is in denylist, Hangup) + same => n,Hangup + + same => n(connect),rpt(${EXTEN}) + same => n,Hangup + +[iaxrpt] +; Entered from iaxrpt in iax.conf +; Info: The X option passed to the Rpt application +; disables the normal security checks. +; Because incoming connections are validated in iax.conf, +; and we don't know where the user will be coming from in advance, +; the X option is required. +exten => ${NODE},1,rpt(${EXTEN}|X) ; NODE is the Name field in iaxrpt + +[iax-client] ; for IAX VoIP clients. +exten => ${NODE},1,Ringing() + same => n,Wait(10) + same => n,Answer() + same => n,Set(CALLSIGN=${CALLERID(name)}) + same => n,NoOp(Caller ID name is ${CALLSIGN}) + same => n,NoOp(Caller ID number is ${CALLERID(number)}) + same => n,GotoIf(${ISNULL(${CALLSIGN})}?hangit) + same => n,Playback(rpt/connected-to&rpt/node) + same => n,SayDigits(${NODE}) + same => n,rpt(${NODE}|P|${CALLSIGN}-P) + same => n(hangit),NoOp(No Caller ID Name) + same => n,Playback(connection-failed) + same => n,Wait(1) + same => n,Hangup + +; Comment-out the following clause if you want Allstar Autopatch service +[pstn-out] +exten => _NXXNXXXXXX,1,playback(ss-noservice) + same => n,Congestion + +; Un-comment out the following clause if you want Allstar Autopatch service +;[pstn-out] +;exten => _NXXNXXXXXX,1,Dial(IAX2/allstar-autopatch/\${EXTEN}) +; same => n,Busy + +[invalidnum] +exten => s,1,Wait(3) + same => n,Playback(ss-noservice) + same => n,Wait(1) + same => n,Hangup + +[radio] +exten => _X11,1,Goto(check_route,${EXTEN},1); +exten => _NXXXXXX,1,Goto(check_route,1${HOMENPA}${EXTEN},1) +exten => _1XXXXXXXXXX,1,Goto(check_route,${EXTEN},1) +exten => _07XX,1,Goto(parkedcalls,${EXTEN:1},1) +exten => 00,1,Goto(my-ip,s,1) + +[check_route] +exten => _X.,1,Noop(${EXTEN}) +; no 800 +exten => _1800NXXXXXX,2,Goto(invalidnum,s,1) +exten => _1888NXXXXXX,2,Goto(invalidnum,s,1) +exten => _1877NXXXXXX,2,Goto(invalidnum,s,1) +exten => _1866NXXXXXX,2,Goto(invalidnum,s,1) +exten => _1855NXXXXXX,2,Goto(invalidnum,s,1) +; no X00 NPA +exten => _1X00XXXXXXX,2,Goto(invalidnum,s,1) +; no X11 NPA +exten => _1X11XXXXXXX,2,Goto(invalidnum,s,1) +; no X11 +exten => _X11,2,Goto(invalidnum,s,1) +; no 555 Prefix in any NPA +exten => _1NXX555XXXX,2,Goto(invalidnum,s,1) +; no 976 Prefix in any NPA +exten => _1NXX976XXXX,2,Goto(invalidnum,s,1) +; no NPA=809 +exten => _1809XXXXXXX,2,Goto(invalidnum,s,1) +; no NPA=900 +exten => _1900XXXXXXX,2,Goto(invalidnum,s,1) + +; okay, route it +exten => _1NXXXXXXXXX,2,Goto(pstn-out,${EXTEN:1},1) +exten => _X.,2,Goto(invalidnum,s,1) + +[my-ip] +exten => s,1,Wait(1) + same => n,SayAlpha(${CURL(http://myip.vg)}) + same => n,Hangup + +[allstar-sys] +exten => _1.,1,Rpt(${EXTEN:1}|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) +exten => _1.,n,Hangup + +exten => _2.,1,Ringing +exten => _2.,n,Wait(3) +exten => _2.,n,Answer +exten => _2.,n,Playback(rpt/node) +exten => _2.,n,Saydigits(${EXTEN:1}) +exten => _2.,n,Rpt(${EXTEN:1}|P|${CALLERID(name)}-P) +exten => _2.,n,Hangup + +exten => _3.,1,Ringing +exten => _3.,n,Wait(3) +exten => _3.,n,Answer +exten => _3.,n,Playback(rpt/node) +exten => _3.,n,Saydigits(${EXTEN:1}) +exten => _3.,n,Rpt(${EXTEN:1}|Pv|${CALLERID(name)}-P) +exten => _3.,n,Hangup + +exten => _4.,1,Ringing +exten => _4.,n,Wait(3) +exten => _4.,n,Answer +exten => _4.,n,Playback(rpt/node) +exten => _4.,n,Saydigits(${EXTEN:1}) +exten => _4.,n,Rpt(${EXTEN:1}|D|${CALLERID(name)}-P) +exten => _4.,n,Hangup + +exten => _5.,1,Ringing +exten => _5.,n,Wait(3) +exten => _5.,n,Answer +exten => _5.,n,Playback(rpt/node) +exten => _5.,n,Saydigits(${EXTEN:1}) +exten => _5.,n,Rpt(${EXTEN:1}|Dv|${CALLERID(name)}-P) +exten => _5.,n,Hangup + +[allstar-public] + +exten => s,1,Ringing + same => n,Set(RESP=${CURL(https://register.allstarlink.org/cgi-bin/authwebphone.pl?${CALLERID(name)})}) + same => n,Set(NODENUM=${CALLERID(number)}) + same => n,GotoIf($["${RESP:0:1}" = "?"]?hangit) + same => n,GotoIf($["${RESP:0:1}" = ""]?hangit) + same => n,GotoIf($["${RESP:0:5}" != "OHYES"]?hangit) + same => n,Set(CALLSIGN=${RESP:5}) + ;exten => s,n,GotoIf($[${DB_EXISTS(whitelist/${CALLSIGN})}]?:hangit) ; Not in whitelist + same => n,Wait(3) + same => n,Playback(rpt/node,noanswer) + same => n,Saydigits(${NODENUM}) + same => n,Set(CALLERID(name)=${CALLSIGN}) + same => n,Set(CALLERID(num)=0) + same => n,Rpt(${NODENUM}|X) + same => n,Hangup + same => n(hangit),Answer + same => n,Wait(1) + same => n,Hangup + +#tryinclude custom/extensions.conf diff --git a/configs/samples/gps.conf.sample b/configs/samples/gps.conf.sample new file mode 100644 index 0000000..7f6867e --- /dev/null +++ b/configs/samples/gps.conf.sample @@ -0,0 +1,35 @@ +; Configuration for app_gps +; +[general] +; See https://wiki.allstarlink.org/wiki/Gps.conf +call = W1AW-1 ; callsign (including SSID) for APRS purposes +password = 12345 ; Password for APRS-IS server for above callsign +comment = AllStar Node 1999 ; Text to be displayed associated with this station +server = rotate.aprs2.net ; APRS-IS server to report information to +port = 14580 ; port on server to send data +interval = 600 ; Beacon interval in seconds +icon = r ; A CAR (default) Icon to be displayed for station on APRS display +comport = /dev/ttyS0 ; Serial port for GPS receiver (specify this only if using GPS receiver) +baudrate = 4800 ; Baud rate for GPS receiver (specify this only if using GPS receiver) +debug = n ; set this for debug output +freq = 145.000 ; Display Frequency of station +tone = 100.0 ; CTCSS tone of station (0.0 for none) +lat = 12.3456 ; Fixed (default) latitude in decimal degrees +lon = -123.4567 ; Fixed (default) longitude in decimal degrees +elev = 123.4 ; Elevation of Antenna in Meters (*NOT* HAAT) +power = 1 ; Power level +height = 2 ; Antenna Height in HAAT +gain = 3 ; Antenna Gain +dir = 0 ; Antenna Direction + +; ehlert = +; interval = +; ttcomment = +; ttlat = +; ttlist = +; ttlon = +; ttoffset = +; ttsplit = + +#tryinclude custom/gps.conf + diff --git a/configs/samples/iax.conf.sample b/configs/samples/iax.conf.sample new file mode 100644 index 0000000..0eaa3f0 --- /dev/null +++ b/configs/samples/iax.conf.sample @@ -0,0 +1,122 @@ +; Inter-Asterisk eXchange driver definition + +[general] +; !!! IAX registration will be discontinued at some point !!! +; Setup rpt_http_registartions.conf instead. +; remove the leading ";" +;register => 1999:12345@register.allstarlink.org ; This must be changed to your node number, password +;register => 1998:12345@register.allstarlink.org + +bindport = 4569 ; bindport and bindaddr may be specified + +; NOTE: bindport must be specified BEFORE +; bindaddr or may be specified on a specific +; bindaddr if followed by colon and port +; (e.g. bindaddr=192.168.0.1:4569) + +; bindaddr = 192.168.0.1 ; more than once to bind to multiple + ; addresses, but the first will be the + ; default + +disallow = all ; The permitted codecs for outgoing connections +;Audio Quality Bandwidth +;allow = ulaw ; best 87 kbps +;allow = adpcm ; good 55 kbps +;allow = gsm ; medicore 36 kbps +allow = ulaw +allow = adpcm +;allow = g722 +;allow = g726aal2 +allow = gsm +;allow = ilbc + + +jitterbuffer = yes +forcejitterbuffer = yes +dropcount = 2 +maxjitterbuffer = 4000 +maxjitterinterps = 10 +resyncthreshold = 1000 +maxexcessbuffer = 80 +minexcessbuffer = 10 +jittershrinkrate = 1 +tos = 0x1E +autokill = yes +delayreject = yes +; iaxthreadcount = 30 +; iaxmaxthreadcount = 150 + + +; Incoming radio connections + +[radio] +type = user +disallow = all +allow = ulaw +allow = adpcm +;allow = g722 +;allow = g726aal2 +allow = gsm +;allow = ilbc +codecpriority = host +context = radio-secure +transfer = no + +[iaxrpt] ; Connect from iaxrpt Username field (PC AllStar Client) +type = user ; Notice type is user here <--------------- +context = iaxrpt ; Context to jump to in extensions.conf +auth = md5 +secret = Your_Secret_Pasword_Here +host = dynamic +disallow = all +allow = ulaw +allow = adpcm +allow = gsm +transfer = no + +[iaxclient] ; Connect from iax client (Zoiper...) +type = friend ; Notice type here is friend <-------------- +context = iax-client ; Context to jump to in extensions.conf +auth = md5 +secret = Your_Secret_Password_Here +host = dynamic +disallow = all +allow = ulaw +allow = adpcm +allow = gsm +transfer = no + +[allstar-sys] +type = user +context = allstar-sys +auth = rsa +inkeys = allstar +disallow = all +allow = ulaw +allow = adpcm +allow = gsm + +[allstar-public] +type = user +context = allstar-public +auth = md5 +secret = allstar +disallow = all +;calltokenoptional=0.0.0.0/0.0.0.0 +requirecalltoken=no +allow = ulaw +allow = adpcm +allow = gsm + +; The following should be un-commented to support Allstar Autopatch service +; [allstar-autopatch] +; type = peer +; host = register.allstarlink.org +; username = +; secret = +; auth = md5 +; disallow = all +; allow = ulaw +; transfer = no + +#tryinclude custom/iax.conf diff --git a/configs/samples/logger.conf.sample b/configs/samples/logger.conf.sample new file mode 100644 index 0000000..6031264 --- /dev/null +++ b/configs/samples/logger.conf.sample @@ -0,0 +1,20 @@ +; +; Logging Configuration +; +[general] +dateformat=%F %T.%3q ; with milliseconds + +[logfiles] +; +; Format is "filename" and then "levels" of debugging to be included: +; debug +; notice +; warning +; error +; +; Special filename "console" represents the system console +; +;debug.log => debug +console => notice,warning,error,dtmf +;console => notice,warning,error,debug,verbose +messages.log => notice,warning,error,dtmf diff --git a/configs/samples/manager.conf.sample b/configs/samples/manager.conf.sample new file mode 100644 index 0000000..b1fb032 --- /dev/null +++ b/configs/samples/manager.conf.sample @@ -0,0 +1,16 @@ +; +; Asterisk Call Management support +; + +; By default asterisk will listen on localhost only. +[general] +enabled = yes +port = 5038 +bindaddr = 127.0.0.1 ; Comment when not localhost access + +[admin] +secret = make4An1ce-secret +read = all,system,call,log,verbose,command,agent,user,config +write = all,system,call,log,verbose,command,agent,user,config +;deny = 0.0.0.0/0.0.0.0 ; Uncomment when not localhost +;permit=1.2.3.4/255.255.255.255 ; Uncomment when not localhost diff --git a/configs/samples/modules.conf.sample b/configs/samples/modules.conf.sample new file mode 100644 index 0000000..42c8f2b --- /dev/null +++ b/configs/samples/modules.conf.sample @@ -0,0 +1,213 @@ +; +; Asterisk configuration file +; +; Module Loader configuration file +; +; By default DIAL does NOT load every module, only what is needed + +; You can enable or disable any of the asterisk modules +; All modules are compiled and installed. + +; To enable a module: load => module_name.so +; To disable a module: noload => module_name.so + +; You will want to enable the channel driver modules you will be using. +; There are below in the Channel Driver section +; The most common Channel drivers for app_rpt are: +; chan_echolink.so echolink channel driver +; chan_simpleusb.so Simple USB Radio Interface Channel Drive +; chan_usbradio.so USB Console Channel Driver +; chan_usrp.so USRP Channel Module +; chan_voter.so radio Voter channel driver + +[modules] +autoload=no + +;load => func_frame_trace ; Debug + +; Applications +noload => app_adsiprog.so ; Asterisk ADSI Programming Application +noload => app_alarmreceiver.so ; Alarm Receiver for Asterisk +noload => app_amd.so ; Answering Machine Detection Application +load => app_authenticate.so ; Authentication Application +noload => app_cdr.so ; Tell Asterisk to not maintain a CDR for +noload => app_chanisavail.so ; Check channel availability +noload => app_channelredirect.so ; Channel Redirect +noload => app_chanspy.so ; Listen to the audio of an active channel +noload => app_controlplayback.so ; Control Playback Application +noload => app_dahdibarge.so ; Barge in on channel application +noload => app_dahdiras.so ; DAHDI RAS Application +noload => app_dahdiscan.so ; Scan Zap channels application +noload => app_db.so ; Database Access Functions +load => app_dial.so ; Dialing Application +noload => app_dictate.so ; Virtual Dictation Machine +noload => app_directed_pickup.so ; Directed Call Pickup Application +noload => app_directory.so ; Extension Directory +noload => app_disa.so ; DISA (Direct Inward System Access) Appli +noload => app_dumpchan.so ; Dump Info About The Calling Channel +noload => app_echo.so ; Simple Echo Application +load => app_exec.so ; Executes dialplan applications +noload => app_externalivr.so ; External IVR Interface Application +noload => app_festival.so ; Simple Festival Interface +noload => app_flash.so ; Flash channel application +noload => app_followme.so ; Find-Me/Follow-Me Application +noload => app_forkcdr.so ; Fork The CDR into 2 separate entities +noload => app_getcpeid.so ; Get ADSI CPE ID +noload => app_gps.so ; GPS interface module +noload => app_hasnewvoicemail.so ; Indicator for whether a voice mailbox ha +noload => app_ices.so ; Encode and Stream via icecast and ices +noload => app_image.so ; Image Transmission Application +noload => app_lookupblacklist.so ; Look up Caller*ID name/number from black +noload => app_lookupcidname.so ; Look up CallerID Name from local databas +noload => app_macro.so ; Extension Macros +noload => app_meetme.so ; MeetMe conference bridge +noload => app_milliwatt.so ; Digital Milliwatt (mu-law) Test Applicat +noload => app_mixmonitor.so ; Mixed Audio Monitoring Application +noload => app_morsecode.so ; Morse code +noload => app_mp3.so ; Silly MP3 Application +noload => app_nbscat.so ; Silly NBS Stream Application +noload => app_page.so ; Page Multiple Phones +noload => app_parkandannounce.so ; Call Parking and Announce Application +load => app_playback.so ; Sound File Playback Application +noload => app_privacy.so ; Require phone number to be entered, if n +noload => app_queue.so ; True Call Queueing +noload => app_radbridge.so ; Radio Bridging interface module +noload => app_random.so ; Random goto +noload => app_readfile.so ; Stores output of file into a variable +noload => app_read.so ; Read Variable Application +noload => app_realtime.so ; Realtime Data Lookup/Rewrite +noload => app_record.so ; Trivial Record Application +load => app_rpt.so ; Radio Repeater/Remote Base Application +noload => app_sayunixtime.so ; Say time +noload => app_senddtmf.so ; Send DTMF digits Application +load => app_sendtext.so ; Send Text Applications +noload => app_setcallerid.so ; Set CallerID Application +noload => app_setcdruserfield.so ; CDR user field apps +noload => app_settransfercapability.so ; Set ISDN Transfer Capability +noload => app_sms.so ; SMS/PSTN handler +noload => app_softhangup.so ; Hangs up the requested channel +noload => app_speech_utils.so ; Dialplan Speech Applications +noload => app_stack.so ; Stack Routines +load => app_system.so ; Generic System() application +noload => app_talkdetect.so ; Playback with Talk Detection +noload => app_test.so ; Interface Test Application +load => app_transfer.so ; Transfer +noload => app_url.so ; Send URL Applications +noload => app_userevent.so ; Custom User Event Application +noload => app_verbose.so ; Send verbose output +noload => app_voicemail.so ; Comedian Mail (Voicemail System) +noload => app_waitforring.so ; Waits until first ring after time +noload => app_waitforsilence.so ; Wait For Silence +noload => app_while.so ; While Loops and Conditional Execution +noload => app_zapateller.so ; Block Telemarketers with Special Informa + +; CDR +noload => cdr_csv.so ; Comma Separated Values CDR Backend +noload => cdr_custom.so ; Customizable Comma Separated Values CDR +noload => cdr_manager.so ; Asterisk Manager Interface CDR Backend + +; Channels +noload => chan_agent.so ; Agent Proxy Channel +noload => chan_alsa.so ; ALSA Console Channel Driver +noload => chan_beagle.so ; Beagleboard Radio Interface Channel Driver +load => chan_dahdi.so ; DAHDI Telephony +noload => chan_echolink.so ; echolink Channel Driver +noload => chan_features.so ; Feature Proxy Channel +noload => chan_gtalk.so ; Gtalk Channel Driver +load => chan_iax2.so ; Inter Asterisk eXchange (Ver 2) +noload => chan_local.so ; Local Proxy Channel (Note: used internal +noload => chan_oss.so ; Channel driver for OSS sound cards +noload => chan_phone.so ; Generic Linux Telephony Interface driver +noload => chan_pi.so ; DMK Engineering "PITA" Board on Rpi2/3 Channel Driver +load => chan_simpleusb.so ; CM1xx USB Cards with Radio Interface Channel Driver (No DSP) +noload => chan_sip.so ; Session Initiation Protocol (SIP) +noload => chan_tlb.so ; TheLinkBox Channel Driver +noload => chan_usbradio.so ; CM1xx USB Cards with Radio Interface Channel Driver (DSP) +noload => chan_usrp.so ; GNU Radio interface USRP Channel Driver +noload => chan_voter.so ; Radio Voter Channel Driver + +; Codecs +; CODEC AUDIO QUALITY BANDWIDTH (including IP and Ethernet headers) +; ULAW best 87 kilobits per second (kbps) +; ADPCM good 55 kbps +; GSM mediocre 36 kbps +; g726aal2 +; ilbc + +load => codec_adpcm.so ; Adaptive Differential PCM Coder/Decoder +load => codec_alaw.so ; A-law Coder/Decoder +load => codec_a_mu.so ; A-law and Mulaw direct Coder/Decoder +noload => codec_dahdi.so ; Generic DAHDI Transcoder Codec Translato +load => codec_g726.so ; ITU G.726-32kbps G726 Transcoder +load => codec_gsm.so ; GSM Coder/Decoder +load => codec_ulaw.so ; mu-Law Coder/Decoder +noload => codec_ilbc.so ; http://en.wikipedia.org/wiki/Internet_Low_Bitrate_Codec + +; Formats +load => format_g723.so ; G.723.1 Simple Timestamp File Format +load => format_g726.so ; Raw G.726 (16/24/32/40kbps) data +load => format_g729.so ; Raw G729 data +load => format_gsm.so ; Raw GSM data +load => format_h263.so ; Raw H.263 data +load => format_h264.so ; Raw H.264 data +load => format_ilbc.so ; Raw iLBC data +noload => format_jpeg.so ; JPEG (Joint Picture Experts Group) Image +load => format_pcm.so ; Raw/Sun uLaw/ALaw 8KHz (PCM,PCMA,AU), G. +load => format_sln.so ; Raw Signed Linear Audio support (SLN) +load => format_vox.so ; Dialogic VOX (ADPCM) File Format +load => format_wav_gsm.so ; Microsoft WAV format (Proprietary GSM) +load => format_wav.so ; Microsoft WAV format (8000Hz Signed Line + +; Functions +load => func_base64.so ; base64 encode/decode dialplan functions +load => func_callerid.so ; Caller ID related dialplan function +load => func_cdr.so ; CDR dialplan function +load => func_channel.so ; Channel information dialplan function +load => res_curl.so ; Required for ASL3 +load => func_curl.so ; Load external URL +load => func_cut.so ; Cut out information from a string +load => func_db.so ; Database (astdb) related dialplan functi +load => func_enum.so ; ENUM related dialplan functions +load => func_env.so ; Environment/filesystem dialplan function +load => func_global.so ; Global variable dialplan functions +load => func_groupcount.so ; Channel group dialplan functions +noload => func_language.so ; Channel language dialplan function +load => func_logic.so ; Logical dialplan functions +load => func_math.so ; Mathematical dialplan function +load => func_md5.so ; MD5 digest dialplan functions +noload => func_moh.so ; Music-on-hold dialplan function +load => func_rand.so ; Random number dialplan function +load => func_realtime.so ; Read/Write values from a RealTime reposi +noload => func_sha1.so ; SHA-1 computation dialplan function +noload => func_strings.so ; String handling dialplan functions +noload => func_timeout.so ; Channel timeout dialplan functions +noload => func_uri.so ; URI encode/decode dialplan functions + +; PBX +noload => pbx_ael.so ; Asterisk Extension Language Compiler +load => pbx_config.so ; Text Extension Configuration +noload => pbx_dundi.so ; Distributed Universal Number Discovery ( +noload => pbx_loopback.so ; Loopback Switch +noload => pbx_realtime.so ; Realtime Switch +noload => pbx_spool.so ; Outgoing Spool Support + +; Resources +load => res_adsi.so ; ADSI Resource +noload => res_agi.so ; Asterisk Gateway Interface (AGI) +noload => res_clioriginate.so ; Call origination from the CLI +noload => res_convert.so ; File format conversion CLI command +load => res_crypto.so ; Cryptographic Digital Signatures +noload => res_features.so ; Call Features Resource +load => res_rpt_http_registrations.so ; ASL3 app_rpt http registrations +noload => res_indications.so ; Indications Resource +noload => res_jabber.so ; AJI - Asterisk Jabber Interface +noload => res_monitor.so ; Call Monitoring Resource +noload => res_musiconhold.so ; Music On Hold Resource +load => res_smdi.so ; Simplified Message Desk Interface (SMDI) +noload => res_snmp.so ; SNMP [Sub]Agent for Asterisk +noload => res_speech.so ; Generic Speech Recognition API +load => res_timing_dahdi.so ; DAHDI Timing Interface +load => res_timing_timerfd.so ; Timerfd Timing Interface is preferred for ASL3 +load => res_usbradio.so ; ASL3 required for both simpleusb and usbradio + +[global] diff --git a/configs/samples/savenode.conf.sample b/configs/samples/savenode.conf.sample new file mode 100644 index 0000000..ae2ae83 --- /dev/null +++ b/configs/samples/savenode.conf.sample @@ -0,0 +1,4 @@ +# config file for /usr/sbin/savenode +NODE=1999 +PASSWORD=12345 +ENABLE=0 diff --git a/configs/samples/voter.conf.sample b/configs/samples/voter.conf.sample new file mode 100644 index 0000000..0628dc1 --- /dev/null +++ b/configs/samples/voter.conf.sample @@ -0,0 +1,57 @@ +[general] +;bindaddr = 10.10.10.1 ; specify a particular IP address to bind to (not generally used, defaults to bind to all interfaces) +port = 667 ; specifies the UDP port to use for incoming connections +buflen = 480 ; specifies the receive buffer length in milliseconds. + ; This parameter should be set to the maximum expected network latency, + ; plus a little padding (100 milliseconds of padding is a good amount). + ; The default is 480 milliseconds, the minimum is 320 milliseconds. + ; Buffer length may be specified on a per-stanza and per-client basis, see below. + +password = secret_password ; password common to all clients (Main Menu Item 6 - Host Password, on RTCM/VOTER) +utos = y ; Turn on IP TOS for Ubiquiti (ToS is enable by default on the RTCM/VOTER) from the host TO the clients + +;sanity = 0 ; disable sanity checking of clients (debug use only) defaults to 1 if not specifically set to 0 +;puckit = 1 ; KLUDGE to try and fix random Garmin LVC-18 pucks that may or may not be 1 second off (defaults to 0 if not specified or set to 1) + +[1999] ; define the 1999 instance stanza +Main = secret,transmit,master ; master,transmit,adpcm,nulaw,nodeemp,noplfilter,buflen=value,gpsid[=value],prio=value + ; + ; master - this client is the Master Timing source (the RTCM client that is on the same LAN as the Asterisk server.) + ; There can only be 1 Master Timing source per ENTIRE Asterisk server. + ; + ; secret - password unique to this client + ; transmit - this client is intended to have transmit audio sent to it and will have a transmitter connected to it. + ; adpcm - this client is to be sent audio in 8000 samples/sec, 4-bit, IMA ADPCM format, rather than default G.711 Mulaw (aka ulaw). + ; nulaw - this client is to be sent audio in 4000 samples/second Mulaw (Nulaw, as we call it), rather than the standard 8000 samples/second. + ; nodeemp - this client is not to perform de-emphasis of the receiver audio (This is only to be used with non-voting clients). Switches + ; the hardware de-emphasis filter OUT on the client + ; noplfilter - this client is to not to perform hardware pl filtering of the audio. Switches the hardware PL filter OUT on the client. + ; buflen=value - receive buffer length override for this client only. + ; gpsid[=value] - This specifies a gps identity to associate with the specified client (as referred in the /etc/asterisk/gps.conf file). + ; prio=value - define a specific priority for this client when voting. Lower numbers are higher priority. Default is 0 if nothing specified. + +plfilter = y ; use DSP IIR 6 pole High pass filter, 300 Hz corner with 0.5 db ripple (note clients filter PL by default already) +txctcss = 100.0 ; Transmit CTCSS frequency +txctcsslevel = 62 ; Transmit CTCSS level (default of 62 if txctcss is supplied, but txctcsslevel is not set) +txtoctype = phase ; Transmit tone control type: none,phase,notone + ; none - CTCSS tone encoding with no hang time (default) + ; phase - encode CTCSS and reverse phase (AKA "reverse burst") before unkeying TX + ; notone - encode CTCSS and stop sending tone before unkeying TX (AKA "chicken burst") + +;gtxgain = 3.0 ; adjust the audio gain to all transmitters (in db voltage gain) +;hostdeemp = 1 ; force the use of the DSP FIR Integrator providing de-emphasis at 8000 samples/sec. Used with Duplex Mode 3 setting in RTCM/VOTER + +thresholds = 255,110=5 ; +; linger=6 ; linger default is 6 if no other value specified +; streams = 67.215.233.178:1667 ; location to send voter data stream for this instance (used only with votemond Java program, which is deprecated) + +; isprimary = y ; used in redundant server applications only. must be set on the primary server only +; primary = 10.20.20.1:667,mypaswd ; used in redundant server applications only. must be ONLY set on the secondary server to point to the primary + +[1998] ; define another voting instance on this server (for another node). Three simulcast transmitters and four receivers. + ; NOTE: there is NO "master" in this instance, since we already have a master timing source on this server defined above + +NORTH = password_1,transmit ; transmit/receive site +SOUTH = Password_2,transmit ; transmit/receive site +EAST = password_3,nodeemp ; receive-only site, bypass de-emphasis filter in RTCM +WEST = Password_4,transmit,noplfilter ; transmit/receive site, bypass CTCSS filter in RTCM \ No newline at end of file