Ejemplo n.º 1
0
def queue_pause(manager, request, paused = True):
    cdict = {'Action':'QueuePause'}
    cdict['Interface'] = request['agent']
    cdict['Queue'] = request['queue']
    cdict['Paused'] = paused

    return manager.send_action(cdict)
def get_queue_status_periodic():
	global positionLastSay
	while True:
		cdict = {"Action": "QueueStatus"}
		response = manager.send_action(cdict)
		positionLastSay += 10;
		time.sleep(10)
Ejemplo n.º 3
0
def spy():
    app.logger.debug('Start spy')
    inline = request.form['inline']
    exten = request.form['exten']
    status, error_msg, response, action = 'success', '', '', 'spy'
    try:
        manager.send_action({
            'Action': 'Originate',
            'Channel': 'SIP/%s' % inline,
            'CallerID': 'Listening...',
            'Application': 'ChanSpy',
            'Data': 'SIP/%s,q' % exten
        }).response
    except asterisk.manager.ManagerException, reason:
        status = 'failure'
        error_msg = 'Error: %s' % reason
Ejemplo n.º 4
0
def queue_pause(manager, agent, paused = True):
    cdict = {'Action':'QueuePause'}
    cdict['Interface'] = agent
    cdict['Queue'] = 'test'
    cdict['Paused'] = paused

    return manager.send_action(cdict)
Ejemplo n.º 5
0
def queue_params(plpy, ami_host, queue):
    manager = _get_manager(plpy, ami_host)
    manager.register_event('QueueParams', _handle_queue_parameter)
    manager.send_action({ACTION: 'QueueStatus', QUEUE: queue})
    manager.logoff()

    return_type_attributes = _get_type_fields(plpy, 'asterisk_queue_params')

    result = []
    for event in manager.event_registry:
        record = {}
        for sip_header in return_type_attributes:
            record[sip_header] = event.get_header(sip_header, None)

        result.append(record)

    return result
Ejemplo n.º 6
0
def queue_add(manager, agent):
    cdict = {'Action':'QueueAdd'}
    cdict['Interface'] = agent
    cdict['Queue'] = 'test'
    cdict['Penalty'] = 1
    cdict['Paused'] = False

    return manager.send_action(cdict)
Ejemplo n.º 7
0
def queue_status():
    app.logger.debug('Start queue_status')
    status, error_msg, response, action = 'success', '', '', 'queue_status'
    try:
        response = manager.send_action({'Action': 'QueueStatus'}).response
    except asterisk.manager.ManagerException, reason:
        status = 'failure'
        error_msg = 'Error: %s' % reason
Ejemplo n.º 8
0
def queue_params(plpy, ami_host, queue):
    manager = _get_manager(plpy, ami_host)
    manager.register_event('QueueParams', _handle_queue_parameter)
    manager.send_action({ACTION : 'QueueStatus', QUEUE : queue})
    manager.logoff()

    return_type_attributes = _get_type_fields(plpy,'asterisk_queue_params')

    result = []
    for event in manager.event_registry:
        record = {}
        for sip_header in return_type_attributes:
            record[sip_header] = event.get_header(sip_header, None)

        result.append(record)

    return result
Ejemplo n.º 9
0
def queue_add(manager, request):
    cdict = {'Action':'QueueAdd'}
    cdict['Interface'] = request['agent']
    cdict['Queue'] = request['queue']
    cdict['Penalty'] = 1
    cdict['Paused'] = False

    return manager.send_action(cdict)
Ejemplo n.º 10
0
def spy():
    app.logger.debug('Start spy')
    inline = request.form['inline']
    exten = request.form['exten']
    manager = asterisk.manager.Manager()
    status, error_msg, response = 'success', '', ''
    try:
        manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)
        manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
        manager.send_action({
            'Action': 'Originate',
            'Channel': 'SIP/%s' % inline,
            'CallerID': 'Listening...',
            'Application': 'ChanSpy',
            'Data': 'SIP/%s,q' % exten
        }).response
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 11
0
def spy():
    app.logger.debug('Start spy')
    inline = request.form['inline']
    exten = request.form['exten']
    manager = asterisk.manager.Manager()
    status, error_msg, response = 'success', '', ''
    try:
        manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)
        manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
        manager.send_action({
            'Action': 'Originate',
            'Channel': 'SIP/%s' % inline,
            'CallerID': 'Listening...',
            'Application': 'ChanSpy',
            'Data': 'SIP/%s,q' % exten
        }).response
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 12
0
def queue_remove(plpy, ami_host, queue, interface):
    manager = _get_manager(plpy, ami_host)

    cdict = {ACTION:'QueueRemove'}
    cdict['Interface'] = interface
    cdict[QUEUE] = queue

    response = manager.send_action(cdict)
    manager.logoff()

    return True
Ejemplo n.º 13
0
def queue_remove(plpy, ami_host, queue, interface):
    manager = _get_manager(plpy, ami_host)

    cdict = {ACTION: 'QueueRemove'}
    cdict['Interface'] = interface
    cdict[QUEUE] = queue

    response = manager.send_action(cdict)
    manager.logoff()

    return True
Ejemplo n.º 14
0
def queue_members(plpy, ami_host, queue):
    manager = _get_manager(plpy, ami_host)
    manager.register_event('QueueMember', _handle_queue_member)
    manager.send_action({ACTION: 'QueueStatus', QUEUE: queue})
    manager.logoff()

    return_type_attributes = _get_type_fields(plpy, 'asterisk_queue_member')

    #plpy.error("error")
    #plpy.fatal("fatal")
    #plpy.debug("debug")
    #plpy.notice("notice")

    result = []
    for event in manager.event_registry:
        record = {}
        for sip_header in return_type_attributes:
            record[sip_header] = event.get_header(sip_header, None)
        result.append(record)

    return result
Ejemplo n.º 15
0
def queue_members(plpy, ami_host, queue):
    manager = _get_manager(plpy, ami_host)
    manager.register_event('QueueMember', _handle_queue_member)
    manager.send_action({ACTION : 'QueueStatus', QUEUE : queue})
    manager.logoff()

    return_type_attributes = _get_type_fields(plpy,'asterisk_queue_member')

    #plpy.error("error")
    #plpy.fatal("fatal")
    #plpy.debug("debug")
    #plpy.notice("notice")

    result = []
    for event in manager.event_registry:
        record = {}
        for sip_header in return_type_attributes:
            record[sip_header] = event.get_header(sip_header, None)
        result.append(record)

    return result
Ejemplo n.º 16
0
def queue_add(plpy, ami_host, queue, interface):
    manager = _get_manager(plpy, ami_host)

    cdict = {ACTION:'QueueAdd'}
    cdict['Interface'] = interface
    cdict[QUEUE] = queue
    cdict['Penalty'] = 1
    cdict['Paused'] = False

    response = manager.send_action(cdict)
    manager.logoff()

    return True
Ejemplo n.º 17
0
def queue_add(plpy, ami_host, queue, interface):
    manager = _get_manager(plpy, ami_host)

    cdict = {ACTION: 'QueueAdd'}
    cdict['Interface'] = interface
    cdict[QUEUE] = queue
    cdict['Penalty'] = 1
    cdict['Paused'] = False

    response = manager.send_action(cdict)
    manager.logoff()

    return True
Ejemplo n.º 18
0
def queue_status():
    app.logger.debug('Start queue_status')
    manager = asterisk.manager.Manager()
    status, error_msg, response = 'success', '', ''
    try:
        manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)
        manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
        response = manager.send_action({
            'Action': 'QueueStatus',
        }).response
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 19
0
def queue_status():
    app.logger.debug('Start queue_status')
    manager = asterisk.manager.Manager()
    status, error_msg, response = 'success', '', ''
    try:
        manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)
        manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
        response = manager.send_action({
            'Action': 'QueueStatus',
        }).response
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 20
0
def queue_remove():
    app.logger.debug('Start queue_remove')
    queue = request.form['queue']
    interface = request.form['interface']
    status, error_msg, response, action = 'success', '', '', 'queue_remove'
    try:
        response = manager.send_action({
            'Action': 'QueueRemove',
            'Queue': queue,
            'Interface': interface,
        }).response
    except asterisk.manager.ManagerException, reason:
        status = 'failure'
        error_msg = 'Error: %s' % reason
Ejemplo n.º 21
0
def queue_remove():
    app.logger.debug('Start queue_remove')
    queue = request.form['queue']
    interface = request.form['interface']
    manager = asterisk.manager.Manager()
    status, error_msg, response = 'success', '', ''
    try:
        manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)
        manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
        response = manager.send_action({
            'Action': 'QueueRemove',
            'Queue': queue,
            'Interface': interface,
        }).response
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 22
0
def before_each_dialer_request(*args, **kwargs):
    status, response, error_msg = 'success', '', ''

    try:
        if not manager.connected():
            manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)

            manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
            response = manager.send_action({
                'Action': 'Events',
                'Events': 'on',
                'EventMask': 'cdr',
            }).response
            manager.register_event('*', event_callback)
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 23
0
def queue_remove():
    app.logger.debug('Start queue_remove')
    queue = request.form['queue']
    interface = request.form['interface']
    manager = asterisk.manager.Manager()
    status, error_msg, response = 'success', '', ''
    try:
        manager.connect(config.ASTERISK_ADDRESS, config.ASTERISK_PORT)
        manager.login(config.ASTERISK_LOGIN, config.ASTERISK_PASSWORD)
        response = manager.send_action({
            'Action': 'QueueRemove',
            'Queue': queue,
            'Interface': interface,
        }).response
    except asterisk.manager.ManagerSocketException, (errno, reason):
        status = 'failure'
        error_msg = 'Error connecting to the manager: %s' % reason
Ejemplo n.º 24
0
def queue_remove(manager, agent):
    cdict = {'Action':'QueueRemove'}
    cdict['Interface'] = agent
    cdict['Queue'] = 'test'

    return manager.send_action(cdict)
Ejemplo n.º 25
0
def queue_status(manager, agent):
    cdict = {'Action':'QueueStatus'}
    cdict['Queue'] = 'test'
    cdict['Member'] = agent

    return manager.send_action(cdict)
Ejemplo n.º 26
0
def queue_status(manager, request):
    cdict = {'Action':'QueueStatus'}
    cdict['Queue'] = request['queue']
    cdict['Member'] = request['agent']

    return manager.send_action(cdict)
Ejemplo n.º 27
0
    string = dev.read(KEY_LENGTH).strip()
    old_string = '' # Not yet used to compare string and old_string

    if string != "":
        if string in USER_DATA:
            print "Hex:", binascii.b2a_hex(string)
            dev.write('U')

            # Play ringtone/theme song
            manager = asterisk.manager.Manager()
            manager.connect('192.168.1.200')
            manager.login('steve', 'amp111')

            # manager.originate('', '')
            data = {"Action": "Originate",
                    "Channel": "SIP/180",
                    "Application": "Playback",
                    "Data": USER_DATA[string]['song']
                    }

            manager.send_action(data)
            response = manager.status()
            #print response
            manager.logoff()
            old_string = string

            time.sleep(4)
            dev.flush()
        else:
            print binascii.hexlify(string), "DENIED"
Ejemplo n.º 28
0
def queue_remove(manager, request):
    cdict = {'Action':'QueueRemove'}
    cdict['Interface'] = request['agent']
    cdict['Queue'] = request['queue']

    return manager.send_action(cdict)