9
9
logging .basicConfig (level = logging .DEBUG )
10
10
_logger = logging .getLogger (__name__ )
11
11
12
- ASTERISK = '/usr/bin/asterisk'
12
+ ASTERISK = os .environ .get ('ASTERISK_BINARY' , '/usr/sbin/asterisk' )
13
+ ASTERISK_ARGS = '-cr'
14
+ SSL_ENABLED = False
15
+ LISTEN_ADDRESS = os .environ .get ('CONSOLE_LISTEN_ADDRESS' , '0.0.0.0' )
16
+ LISTEN_PORT = int (os .environ .get ('CONSOLE_LISTEN_PORT' , '8010' ))
13
17
14
- from conf import *
15
18
16
19
class MyTermSocket (TermSocket ):
17
20
18
21
def check_origin (self , origin ):
19
22
return True
20
23
21
24
22
- class RecordingDeleteHandler (tornado .web .RequestHandler ):
23
- def get (self ):
24
- # Take only the right part of the path to get rid if ../../etc/password
25
- base_name = os .path .basename (self .get_argument ('filename' ))
26
- # Now format a clean path
27
- file_path = os .path .join (ASTERISK_RECORDING_FOLDER ,
28
- base_name )
29
- if os .path .exists (file_path ):
30
- _logger .info ('Deleteing {}.' .format (file_path ))
31
- os .unlink (file_path )
32
- self .write ('DELETED' )
33
- else :
34
- _logger .warning ('File {} does not exist.' .format (file_path ))
35
- self .write ('NOT_FOUND' )
36
-
37
-
38
25
if __name__ == '__main__' :
39
26
term_manager = SingleTermManager (shell_command = [ASTERISK , ASTERISK_ARGS ])
40
27
handlers = [
41
28
(r'/websocket' , MyTermSocket , {'term_manager' : term_manager }),
42
- (r'/delete_recording' , RecordingDeleteHandler )
43
29
]
44
30
45
31
# Create SSL context
@@ -52,5 +38,5 @@ def get(self):
52
38
# Start server
53
39
app = tornado .web .Application (handlers )
54
40
server = HTTPServer (app , ssl_options = ssl_ctx )
55
- server .listen (PORT )
41
+ server .listen (LISTEN_PORT , address = LISTEN_ADDRESS )
56
42
IOLoop .current ().start ()
0 commit comments