Merge pull request #4 from areski/master

Simple example
develop
Randall Degges 2012-11-12 12:54:39 -08:00
commit 432104417d
2 changed files with 38 additions and 2 deletions

View File

@ -319,6 +319,7 @@ class Manager(object):
status = True status = True
wait_for_marker = True wait_for_marker = True
lines.append(line) lines.append(line)
# line not ending in \r\n or without ':' isn't a # line not ending in \r\n or without ':' isn't a
# valid header and starts multiline response # valid header and starts multiline response
if not line.endswith('\r\n') or ':' not in line: if not line.endswith('\r\n') or ':' not in line:
@ -612,6 +613,7 @@ class Manager(object):
def playdtmf(self, channel, digit): def playdtmf(self, channel, digit):
"""Plays a dtmf digit on the specified channel""" """Plays a dtmf digit on the specified channel"""
cdict = {'Action': 'PlayDTMF'} cdict = {'Action': 'PlayDTMF'}
cdict['Channel'] = channel cdict['Channel'] = channel
cdict['Digit'] = digit cdict['Digit'] = digit
@ -626,14 +628,12 @@ class Manager(object):
cdict['Channel'] = channel cdict['Channel'] = channel
cdict['Timeout'] = timeout cdict['Timeout'] = timeout
response = self.send_action(cdict) response = self.send_action(cdict)
return response return response
def mailbox_count(self, mailbox): def mailbox_count(self, mailbox):
cdict = {'Action': 'MailboxCount'} cdict = {'Action': 'MailboxCount'}
cdict['Mailbox'] = mailbox cdict['Mailbox'] = mailbox
response = self.send_action(cdict) response = self.send_action(cdict)
return response return response
def sippeers(self): def sippeers(self):

View File

@ -0,0 +1,36 @@
"""
Example to get list of active channels
"""
import asterisk.manager
import sys
manager = asterisk.manager.Manager()
try:
# connect to the manager
try:
manager.connect('localhost')
manager.login('user', 'secret')
# get a status report
response = manager.status()
print response
response = manager.command('core show channels concise')
print response.data
manager.logoff()
except asterisk.manager.ManagerSocketException, (errno, reason):
print "Error connecting to the manager: %s" % reason
sys.exit(1)
except asterisk.manager.ManagerAuthException, reason:
print "Error logging in to the manager: %s" % reason
sys.exit(1)
except asterisk.manager.ManagerException, reason:
print "Error: %s" % reason
sys.exit(1)
finally:
# remember to clean up
manager.close()