Beispiel #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)
Beispiel #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
Beispiel #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)
Beispiel #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
Beispiel #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)
Beispiel #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
Beispiel #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
Beispiel #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)
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #24
0
def queue_remove(manager, agent):
    cdict = {'Action':'QueueRemove'}
    cdict['Interface'] = agent
    cdict['Queue'] = 'test'

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

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

    return manager.send_action(cdict)
    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"
Beispiel #28
0
def queue_remove(manager, request):
    cdict = {'Action':'QueueRemove'}
    cdict['Interface'] = request['agent']
    cdict['Queue'] = request['queue']

    return manager.send_action(cdict)