示例#1
0
def oxe_translator_prefix_create_dpnss(host, token, dpnss_prefix):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        dpnss_prefix (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {
        'Prefix_Meaning': 'Local_Facilities',
        'Local_Facility_Type': 'Pabx_address_in_network'
    }
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        creation = post(
            'https://' + host +
            '/api/mgt/1.0/Node/1/Services_Access_Code/1/Prefix_Plan/' +
            dpnss_prefix,
            json=payload,
            headers=oxe_set_headers(token, 'POST'),
            verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return creation.status_code
示例#2
0
def oxe_sip_proxy(host, token):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {
        'SIP_min_auth_method': 'SIP_None',
        'SIP_Move_To_TCP': 'false',
        'ReTransNo_Invite': '4'
    }
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put('https://' + host +
                           '/api/mgt/1.0/Node/1/SIP/1/SIP_Proxy/1',
                           json=payload,
                           headers=oxe_set_headers(token, 'PUT'),
                           verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#3
0
def oxe_set_flex(host, token, flex_ip_address, flex_port):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        flex_ip_address (TYPE): Description
        flex_port (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    payload = {
        "Flex_Licensing_Enable": "Yes",
        "Flex_Server_Address": flex_ip_address,
        "Flex_Server_Port": flex_port,
        "Flex_ProductId_Discovery": "Yes"
    }
    try:
        response = put('https://' + host +
                       '/api/mgt/1.0/Node/1/System_Parameters/1/Flex_Server/1',
                       headers=oxe_set_headers(token, 'PUT'),
                       json=payload,
                       verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    # todo: manage errors
    return response.status_code
示例#4
0
def oxe_shelf_board_compressors_for_ip_devices(host, token, shelf_id,
                                               compressors):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        shelf_id (TYPE): Description
        compressors (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'IP_Nb_Used_Compressors': compressors}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put('https://' + host + '/api/mgt/1.0/Node/1/Rack/' +
                           shelf_id + '/Board/0',
                           json=payload,
                           headers=oxe_set_headers(token, 'PUT'),
                           verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#5
0
def oxe_shelf_ethernet_parameters(host, token, shelf_id, mac_address):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        shelf_id (TYPE): Description
        mac_address (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'Board_Ethernet_Address': mac_address}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put('https://' + host + '/api/mgt/1.0/Node/1/Rack/' +
                           str(shelf_id) + '/Board/0/Ethernet_Parameters/' +
                           str(shelf_id) + '-0',
                           json=payload,
                           headers=oxe_set_headers(token, 'PUT'),
                           verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
def oxe_ip_domain_deactivate_compression_default_ip_domain(host, token):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {
        'Intra_Domain_Coding_Algorithm': 'No_Compression',
        'Extra_Domain_Coding_Algorithm': 'No_Compression'
    }
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put('https://' + host +
                           '/api/mgt/1.0/Node/1/IP/1/IP_Domain/0',
                           json=payload,
                           headers=oxe_set_headers(token, 'PUT'),
                           verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#7
0
def oxe_sip_create_default_trunk_groups(host, token, trunk_id):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        trunk_id (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {
        'Homo_Net_For_Direct_RTP': 'Yes',
        'Number_Of_Digits_To_Send': '4',
        'Public_Network_Category_Id': '31',
        'Remote_Network': '15',
        'Signalization_Variation': 'ABC_F_VARIANT',
        'T2_Specificity': 'SIP',
        'Trunk_Group_Name': 'SIP'
    }
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        creation = post('https://' + host +
                        '/api/mgt/1.0/Node/1/Trunk_Group_Overview/' +
                        str(trunk_id),
                        json=payload,
                        headers=oxe_set_headers(token, 'POST'),
                        verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return creation.status_code
示例#8
0
def oxe_create_shelf(host, token, shelf_id, rack_size):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        shelf_id (TYPE): Description
        rack_size (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'MediaServer': 'Yes', 'Rack_Size': rack_size}
    if id == 0 or id == 18 or id == 19:
        print('Error can\'t proceed to create shelf with reserved id : {}'.
              format(id))
        exit(-1)
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        creation = post('https://' + host + '/api/mgt/1.0/Node/1/Rack/' +
                        str(shelf_id),
                        json=payload,
                        headers=oxe_set_headers(token, 'POST'),
                        verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return creation.status_code
示例#9
0
def vm_create(host,
              token,
              voice_mail_number,
              number_accesses,
              voice_mail_directory_name='voicemail',
              voice_mail_server_index=1,
              voice_mail_type='embedded'):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        voice_mail_number (TYPE): Description
        number_accesses (TYPE): Description
        voice_mail_directory_name (str, optional): Description
        voice_mail_server_index (int, optional): Description
        voice_mail_type (str, optional): Description
    
    Returns:
        TYPE: Description
    """
    payload = {
        'Directory_Name': voice_mail_directory_name,
        'Number_Of_Accesses': number_accesses,
        'Voice_Mail_CPU_Name': host,
        'Voice_Mail_Directory_Number': voice_mail_number,
        'Voice_Mail_Server_Number': voice_mail_server_index,
        'Voice_Mail_Type': voice_mail_type
    }
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put(
            'https://' + host +
            '/api/mgt/1.0/Node/101/Application_Configuration/1/Voice_Mail/' +
            voice_mail_server_index,
            json=payload,
            headers=oxe_set_headers(token, 'PUT'),
            verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#10
0
文件: oxe_users.py 项目: fgadot/pyoxe
def oxe_delete_user(host, token, extension, max_retries):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        extension (TYPE): Description
        max_retries (TYPE): Description
    """
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    for i in range(max_retries):
        response = delete('https://' + host +
                          '/api/mgt/1.0/Node/1/Subscriber/' + str(extension),
                          headers=oxe_set_headers(token, 'DELETE'),
                          verify=False)
        # code status 200: OK
        if response.status_code in (200, 404):
            break
        # code status 503: retry with same requests + wait 500ms (oxe max 2r/s)
        elif response.status_code == 503:
            sleep(.500)
示例#11
0
文件: oxe_users.py 项目: fgadot/pyoxe
def oxe_create_user(host, token, extension, last_name, first_name,
                    station_type, max_retries):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        extension (TYPE): Description
        last_name (TYPE): Description
        first_name (TYPE): Description
        station_type (TYPE): Description
        max_retries (TYPE): Description
    """
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    payload = {
        "Annu_Name": last_name,
        "Annu_First_Name": first_name,
        "Station_Type": station_type
    }
    for i in range(max_retries):
        response = post('https://' + host + '/api/mgt/1.0/Node/1/Subscriber/' +
                        str(extension),
                        headers=oxe_set_headers(token, 'POST'),
                        json=payload,
                        verify=False)
        # code status 201: CREATED
        if response.status_code in (201, 401):
            break
        # code status 503: retry with same requests + wait 500ms (oxe max 2r/s)
        elif response.status_code == 503:
            sleep(.500)
            # return response.status_code
        elif response.status_code == 403:
            print(
                'Connection error, please reconnect first! mass provisioning ended on extension {}'
                .format(str(extension - 1)))
            exit(-1)
示例#12
0
def oxe_get_json_model(host, token):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    response = get('https://' + host + '/api/mgt/1.0/model',
                   headers=oxe_set_headers(token),
                   verify=False,
                   stream=True)
    result = ''
    for chunk in response.iter_content(chunk_size=1024):
        if chunk:
            result += chunk.decode('utf-8')
    # todo: transcode false to 'false'
    # todo: transcode true to 'true'
    return result
示例#13
0
def oxe_system_node_number(host, token, node_number):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        node_number (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'Node_Number': node_number}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put('https://' + host +
                           '/api/mgt/1.0/Node/1/System_Parameters/1',
                           json=payload,
                           headers=oxe_set_headers(token, 'PUT'),
                           verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#14
0
def oxe_sip_gateway(host, token, trunk_id):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        trunk_id (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'SIP_Subnetwork': '15', 'SIP_Trunk_Group': trunk_id}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put('https://' + host +
                           '/api/mgt/1.0/Node/1/SIP/1/SIP_Gateway/1',
                           json=payload,
                           headers=oxe_set_headers(token, 'PUT'),
                           verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#15
0
文件: oxe_users.py 项目: fgadot/pyoxe
def oxe_create_phonebook_entry(host, token, extension, last_name, first_name,
                               alias, max_retries):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        extension (TYPE): Description
        last_name (TYPE): Description
        first_name (TYPE): Description
        alias (TYPE): Description
        max_retries (TYPE): Description
    """
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    payload = {
        'Annu_First_Name': first_name,
        'Annu_Name': last_name,
        'Phone_Book_First_Name': first_name,
        'Phone_Book_Name': last_name,
        'Phone_Book_Type': 'PB_Service_Number',
        'UTF8_Phone_Book_First_Name': first_name,
        'UTF8_Phone_Book_Name': last_name
    }
    for i in range(max_retries):
        response = post('https://' + host + '/api/mgt/1.0/Node/1/Phone_Book/' +
                        str(extension) + utils.quote(',') + str(alias),
                        oxe_set_headers(token, 'POST'),
                        json=payload,
                        verify=False)
        if response.status_code in (201, 404, 401):
            break
        # code status 503: retry with same requests + wait 500ms (oxe max 2r/s)
        elif response.status_code == 503:
            sleep(.500)
    pprint('\n' + str(response.status_code))
示例#16
0
def oxe_system_accept_mu_a_laws_in_sip(host, token, mode):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        mode (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'T0_Mu_Law': mode}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put(
            'https://' + host +
            '/api/mgt/1.0/Node/1/System_Parameters/1/System_Parameters_2/1/System_/Accept_Mu_A_Laws_In_SIP',
            json=payload,
            headers=oxe_set_headers(token, 'PUT'),
            verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#17
0
def oxe_system_ucaas_csta_sessions_monitored(host, token, max_session):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        max_session (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'CSTA_Requests_monitored': max_session}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put(
            'https://' + host +
            '/api/mgt/1.0/Node/1/System_Parameters/1/System_Parameters_2/1/RTU_Parameters/CSTA_Requests_monitored',
            json=payload,
            headers=oxe_set_headers(token, 'PUT'),
            verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code
示例#18
0
def oxe_system_compression_type(host, token, compression_type):
    """Summary
    
    Args:
        host (TYPE): Description
        token (TYPE): Description
        compression_type (TYPE): Description
    
    Returns:
        TYPE: Description
    """
    payload = {'Compression_Type': compression_type}
    packages.urllib3.disable_warnings(
        packages.urllib3.exceptions.InsecureRequestWarning)
    try:
        modification = put(
            'https://' + host +
            '/api/mgt/1.0/Node/1/System_Parameters/1/System_Parameters_2/1/Compression_Parameters/Compression_Type',
            json=payload,
            headers=oxe_set_headers(token, 'PUT'),
            verify=False)
    except exceptions.RequestException as e:
        pprint(e)
    return modification.status_code