Advertisement
Guest User

Untitled

a guest
Oct 14th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. from asterisk.manager import Manager
  4.  
  5. user = "webuser"
  6. password = "kisqpz"
  7. ip = '127.0.0.1'
  8.  
  9. def createManager():
  10. """Returns a logged in manager"""
  11. manager = Manager()
  12. manager.connect(ip)
  13. manager.login(user, password)
  14. return manager
  15.  
  16. def isTalking(manager, channel,talking=None):
  17. """Get the CallerID based on the
  18. channel the user is connected to
  19. """
  20. # Get all current sip channels
  21. status = manager.status()
  22. # Prep for fomating based on new line
  23. res = status.data.replace('\r'," ").strip()
  24. for caller_chan in res.split("\n"):
  25. try:
  26. if caller_chan:
  27. if caller_chan.strip().startswith('CallerIDNum:'):
  28. cid_num = caller_chan.split()[1]
  29. if channel.strip() == caller_chan.split()[1].strip():
  30. #print "Chan: %s cid_name: %s" % ( caller_chan, cid_num )
  31. return cid_num
  32. except IndexError:
  33. pass
  34. def handleTalk(event,manager):
  35. """Event handler for MeetmeTalking
  36. event.
  37. """
  38. if event.headers['Status'] == 'on':
  39. # django logic for updating boolean field can go here
  40. return ( isTalking(manager, event.headers['Channel'], talking=True)
  41. isTalking(manager, event.headers['Channel'])
  42. elif event.headers['Status'] == 'off':
  43. # django logic for updating boolean field can go here
  44. print "%s is nolongertalking" % event.headers['Channel']
  45. else:
  46. pass
  47.  
  48. def main():
  49. manager = createManager()
  50. res = manager.status()
  51. print res.data
  52. manager.register_event('MeetmeTalking', handleTalk)
  53. #manager.register_event('*', handleEvent)
  54. while True:
  55. continue
  56.  
  57. if __name__ == '__main__':
  58. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement