def _send_raw_to_freeswitch_cli(self, cmd): con = ESLconnection(self.conf['fs_esl_ip'], self.conf['fs_esl_port'], self.conf['fs_esl_pass']) if con.connected(): con.api(cmd) return True return False
def connect(self, host=None, port=None, auth=None): """Reconnect if disconnected """ host = host or self.host port = port or self.port auth = auth or self.auth if not self.connected(): # XXX: try a few times since connections seem to be flaky # We should probably try to fix this in the _ESL.so for _ in range(5): self._con = ESLconnection(*map(str, (host, port, auth))) time.sleep(0.05) # I wouldn't tweak this if I were you. if self.connected() and check_con(self._con): break else: self._con = False if not check_con(self._con): raise ConnectionError( "Failed to connect to server at '{}:{}'\n" "Please check that FreeSWITCH is running and " "accepting esl connections.".format(host, port)) # on success change our contact info self.host = host self.port = port self.auth = auth
def makeCall(self, destination): con = ESLconnection(self.conf['fs_esl_ip'], self.conf['fs_esl_port'], self.conf['fs_esl_pass']) if con.connected(): con.api( str("originate {origination_call_id_name=%s,origination" "_caller_id_number=%s}sofia/internal/%s@%s:" "5060 &echo" % (self.user, self.user, destination, self.other_ip))) else: raise Exception("ESL Connection Failed")
def makeCall(self, destination): username = subscriber.get_username_from_imsi(self.user) con = ESLconnection(self.conf['fs_esl_ip'], self.conf['fs_esl_port'], self.conf['fs_esl_pass']) if con.connected(): con.api( str("originate {origination_call_id_name=%s,origination" "_caller_id_number=%s}sofia/internal/%s@%s:%s" "5062 &echo" % (username, username, destination, self.other_ip))) else: raise Exception("ESL Connection Failed")
def get_sip_connected(self): try: _sip_connected = [] con = ESLconnection("127.0.0.1", "8021", "ClueCon") e = con.api("show registrations") reg = e.getBody() lines = reg.split('\n') for line in lines[1:]: vals = line.split(',') if len(vals) < 10: return _sip_connected _sip_connected.append([vals[0]]) except Exception as ex: api_log.info('Exception: %s' % ex)