yum updating the V6 rocky linux 8 rpm's broke the dnl_api_core.service.
I did the update because I was unable to do anything with termination or origination clients or vendors anymore. Got errors about a missing resource.block_dnc in the UI- "ProgrammingError: (psycopg2.errors.UndefinedColumn) column resource.block_dno does not exist"
I tried to manually start the api_dnl_run command from the directory that the init script does it- and get this python error. So I think this is the issue that needs to be fixed:
Meanwhile. this is from the api daemon log file, about all the database issues with the resource.block_dnc ... Maybe after we get my api to start back up again then you can tell me how to add the database column to the right table so it starts working again.
[root@sw api_dnl]# pwd
/opt/denovo_v6/api_dnl
[root@sw api_dnl]# tail -100 dnl.log
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/api_dnl/resources.py", line 545, in _on_get
objects_list, total, page, per_page, fields = self.get_objects_list(req, self.model_class, **kwargs)
File "/usr/lib/python3.6/site-packages/api_dnl/resources.py", line 776, in get_objects_list
query_only = 'query_only' in kwargs
File "/usr/lib/python3.6/site-packages/api_dnl/base_model.py", line 158, in get_objects_list
return qs.all(), cnt
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 2703, in all
return list(self)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
return self._execute_and_instances(context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 2878, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 945, in execute
return meth(self, multiparams, params)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
exc_info
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedColumn) column resource.block_dno does not exist
LINE 35: ...ntry_whitelist AS resource_ani_country_whitelist, resource.b...
^
HINT: Perhaps you meant to reference the column "resource.block_dnc".
[SQL: 'SELECT (SELECT
client.name \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_1, (SELECT client.client_type \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_2, (SELECT client.mode \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_3, (SELECT client.status \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_4, (SELECT client.allowed_credit \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_5, (SELECT client.call_limit \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_6, (SELECT client.cps_limit \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_7, (SELECT coalesce(client.rate_email, client.email) AS coalesce_1 \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_8, (SELECT client.email \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_9, (SELECT
client.name \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_10, (SELECT (SELECT users.is_online = %(is_online_1)s AS anon_13 \nFROM users \nWHERE users.user_id = client.user_id) AS anon_12 \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_11, (SELECT client.status \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_14, (SELECT
rate_table.name \nFROM rate_table \nWHERE rate_table.rate_table_id = resource.rate_table_id) AS anon_15, (SELECT count(
dynamic_route_items.id) AS count_1 \nFROM dynamic_route_items \nWHERE dynamic_route_items.resource_id = resource.resource_id) AS anon_16, (SELECT count(DISTINCT product.product_id) AS count_2 \nFROM product, product_items_resource, product_items \nWHERE product_items_resource.resource_id = resource.resource_id AND product_items.product_id = product.product_id AND product_items_resource.item_id = product_items.item_id AND product_items.product_id IS NOT NULL) AS anon_17, (SELECT random_ani_group.group_name \nFROM random_ani_group \nWHERE
random_ani_group.id = resource.random_table_id) AS anon_18, resource.resource_id AS resource_resource_id,
resource.name AS resource_name, resource.ingress AS resource_ingress, resource.egress AS resource_egress, resource.active AS resource_active, resource.account_id AS resource_account_id, resource.agent_type AS resource_agent_type, resource.alias AS resource_alias, resource.amount_per_port AS resource_amount_per_port, resource.ani_cap_limit AS resource_ani_cap_limit, resource.ani_cps_limit AS resource_ani_cps_limit, resource.auth_type AS resource_auth_type, resource.bill_by AS resource_bill_by, resource.billing_method AS resource_billing_method, resource.billing_port_type AS resource_billing_port_type, resource.billing_rule AS resource_billing_rule, resource.billing_type AS resource_billing_type, resource.block_404_number_time AS resource_block_404_number_time, resource.block_time AS resource_block_time, resource.canada_other AS resource_canada_other, resource.canada_route AS resource_canada_route, resource.capacity AS resource_capacity, resource.cli_type AS resource_cli_type, resource.client_id AS resource_client_id, resource.cost_per_port AS resource_cost_per_port, resource.counter_time AS resource_counter_time, resource.cps_limit AS resource_cps_limit, resource.create_time AS resource_create_time, resource.delay_bye_limit AS resource_delay_bye_limit, resource.delay_bye_second AS resource_delay_bye_second, resource.disable_by_alert AS resource_disable_by_alert, resource.display_name AS resource_display_name, resource.div AS resource_div, resource.dnis_cap_limit AS resource_dnis_cap_limit, resource.dnis_cps_limit AS resource_dnis_cps_limit, resource.dnis_only AS resource_dnis_only, resource.dtmf_detect AS resource_dtmf_detect, resource.dtmf_type AS resource_dtmf_type, resource.dummy_trunk AS resource_dummy_trunk, resource.egress_bill_after_action AS resource_egress_bill_after_action, resource.enfource_cid AS resource_enfource_cid, resource.enough_balance AS resource_enough_balance, resource.group_id AS resource_group_id, resource.ignore_early_media AS resource_ignore_early_media, resource.ignore_early_nosdp AS resource_ignore_early_nosdp, resource.ignore_ring AS resource_ignore_ring, resource.inband AS resource_inband,
resource.info AS resource_info, resource.intl_route AS resource_intl_route, resource.is_del AS resource_is_del, resource.is_virtual AS resource_is_virtual, resource.jurisdiction_use_dnis AS resource_jurisdiction_use_dnis, resource.last_priority AS resource_last_priority, resource.lnp AS resource_lnp, resource.lnp_dipping AS resource_lnp_dipping, resource.lnp_dipping_rate AS resource_lnp_dipping_rate, resource.lrn_block AS resource_lrn_block, resource.lrn_prefix AS resource_lrn_prefix, resource.marketplace AS resource_marketplace, resource.max_duration AS resource_max_duration, resource.media_timeout AS resource_media_timeout, resource.media_type AS resource_media_type, resource.number AS resource_number, resource.oli AS resource_oli, resource.paid AS resource_paid, resource.pass_response_code AS resource_pass_response_code, resource.pass_through AS resource_pass_through, resource.pci AS resource_pci, resource.price_per_actual_channel AS resource_price_per_actual_channel, resource.price_per_max_channel AS resource_price_per_max_channel, resource.priority AS resource_priority, resource.priv AS resource_priv, resource.private AS resource_private, resource.product_id AS resource_product_id, resource.profit_margin AS resource_profit_margin, resource.profit_type AS resource_profit_type, resource.proto AS resource_proto, resource.purged AS resource_purged, resource.random_table_id AS resource_random_table_id, resource.rate_decimal AS resource_rate_decimal, resource.rate_rounding AS resource_rate_rounding, resource.rate_table_id AS resource_rate_table_id, resource.rate_use_rpid AS resource_rate_use_rpid, resource.rating_type AS resource_rating_type, resource.re_invite AS resource_re_invite, resource.re_invite_interval AS resource_re_invite_interval, resource.redirect AS resource_redirect, resource.res_strategy AS resource_res_strategy, resource.resource_block_group_id AS resource_resource_block_group_id, resource.resource_template_id AS resource_resource_template_id, resource.rfc2833 AS resource_rfc2833, resource.rfc_2833 AS resource_rfc_2833, resource.rfc_r833_payload AS resource_rfc_r833_payload, resource.ring_timeout AS resource_ring_timeout, resource.route_strategy_id AS resource_route_strategy_id, resource.rpid AS resource_rpid, resource.rpid_id_type AS resource_rpid_id_type, resource.rpid_party AS resource_rpid_party, resource.rpid_privacy AS resource_rpid_privacy, resource.rpid_screen AS resource_rpid_screen, resource.service_type AS resource_service_type, resource.shaken_sign_policy AS resource_shaken_sign_policy, resource.shaken_vfy_policy AS resource_shaken_vfy_policy, resource.shaken_allow_resign AS resource_shaken_allow_resign, resource.shaken_ani_group_list_id AS resource_shaken_ani_group_list_id, resource.shaken_default_attest_lvl AS resource_shaken_default_attest_lvl, resource.shaken_p_headers AS resource_shaken_p_headers, resource.status AS resource_status, resource.switch_profile_id AS resource_switch_profile_id, resource.t38 AS resource_t38, resource.tdm AS resource_tdm, resource.transaction_fee_id AS resource_transaction_fee_id, resource.transnexus AS resource_transnexus, resource.trunk_type AS resource_trunk_type, resource.trunk_type2 AS resource_trunk_type2, resource.update_at AS resource_update_at, resource.update_by AS resource_update_by, resource.update_time AS resource_update_time, resource.us_other AS resource_us_other, resource.us_route AS resource_us_route, resource.vfy_policy AS resource_vfy_policy, resource.wait_ringtime180 AS resource_wait_ringtime180, resource.ym_fraud_prob AS resource_ym_fraud_prob, resource.ym_spam_score AS resource_ym_spam_score, resource.ym_tcpa_prob AS resource_ym_tcpa_prob, resource.rate_profile AS resource_rate_profile, resource.priv_value AS resource_priv_value, resource.use_sip404_ani AS resource_use_sip404_ani, resource.old_detail_table AS resource_old_detail_table, resource.max_failover_route_count AS resource_max_failover_route_count, resource.block_dnc AS resource_block_dnc, resource.block_wireless AS resource_block_wireless, resource.block_wireless_ani AS resource_block_wireless_ani, resource.block_toll_free_ani AS resource_block_toll_free_ani, resource.invalid_ani_action AS resource_invalid_ani_action, resource.ani_country_whitelist AS resource_ani_country_whitelist, resource.block_dno AS resource_block_dno, (SELECT count(resource_ip.resource_ip_id) AS count_3 \nFROM resource_ip \nWHERE resource.resource_id = resource_ip.resource_id AND resource_ip.reg_type = %(reg_type_1)s) AS anon_19, (SELECT string_agg(CAST(resource_prefix.route_strategy_id AS VARCHAR), %(string_agg_2)s) AS string_agg_1 \nFROM resource_prefix \nWHERE resource_prefix.resource_id = resource.resource_id GROUP BY resource_prefix.resource_id \n LIMIT %(param_1)s) AS anon_20, (SELECT resource_prefix.tech_prefix \nFROM resource_prefix \nWHERE resource_prefix.resource_id = resource.resource_id AND resource_prefix.resource_id IS NOT NULL ORDER BY
resource_prefix.id \n LIMIT %(param_2)s) AS anon_21, (SELECT rate_send_log_detail.sent_on \nFROM rate_send_log_detail \nWHERE resource.resource_id = rate_send_log_detail.resource_id ORDER BY rate_send_log_detail.sent_on DESC \n LIMIT %(param_3)s) AS anon_22 \nFROM resource \nWHERE resource.ingress = true AND resource.purged = false AND resource.alias != %(alias_1)s AND (
resource.name IS NULL OR
resource.name NOT LIKE %(name_1)s) AND resource.trunk_type2 = %(trunk_type2_1)s AND resource.ingress = %(ingress_1)s AND resource.ingress IN (%(ingress_2)s) \n LIMIT %(param_4)s OFFSET %(param_5)s'] [parameters: {'is_online_1': 1, 'reg_type_1': 0, 'string_agg_2': ',', 'param_1': 1, 'param_2': 1, 'param_3': 1, 'alias_1': '', 'name_1': '#%', 'trunk_type2_1': 0, 'ingress_1': 'true', 'ingress_2': True, 'param_4': 999, 'param_5': 0}]
' at resources.py: 578
2023-06-15 23:48:14,130 [DEBUG] 'Responding with 406 Not Acceptable: {"success": false, "error": {"message": "(psycopg2.errors.UndefinedColumn) column resource.block_dno does not exist\nLINE 35: ...ntry_whitelist AS resource_ani_country_whitelist, resource.b...", "code": 406, "reason": "ProgrammingError"}, "error_type": "operation_error"}' at middleware.py: 96
2023-06-15 23:48:14,150 [DEBUG] 'CORS headers not send: no ORIGIN' at user.py: 21
2023-06-15 23:48:14,150 [DEBUG] 'GET /api_dnl/v1/trunk/egress/list from Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
114.0.0.0 Safari/537.36 (127.0.0.1), data: per_page=999&trunk_type2=Termination%20Traffic' at middleware.py: 69
2023-06-15 23:48:14,161 [DEBUG] 'DB [default] saving object: <User: user_id = 1, name = justin, password = $2a$12$yLlDmkJ9keEPYYqwBhWpYOM6TudpQiPVq2AOVCMEXRKFE7dk/7S2u, role_id = 0, reseller_id = None, create_time = 2023-02-16 02:31:20.364143-06:00, active = True, client_id = None, email = None, first_name = None, last_name = None, user_type = admin, create_user_id = 1, last_login_time = 2023-06-15 23:44:47.149622-05:00, card_id = None, is_online = 1, login_ip = 76.228.206.147, default_mod = , default_mod2 = , last_seen = 2023-06-15 23:48:14.158465-05:00, report_group = True, outbound_report = True, all_termination = True, show_carrier_trunk_drop_only = False, report_fields = None, landing_page = /statistics/dashboard, cdr_api_token = None, cdr_expire = None, avatar_id = None>' at db_class.py: 20
2023-06-15 23:48:14,162 [DEBUG] 'on_process_resource_end SUCCESS' at user.py: 76
2023-06-15 23:48:14,178 [DEBUG] 'req.headers['ACCEPT']=application/json, text/plain, */*' at resources.py: 540
2023-06-15 23:48:14,203 [ERROR] 'Traceback (most recent call last):
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.UndefinedColumn: column resource.block_dno does not exist
LINE 35: ...ntry_whitelist AS resource_ani_country_whitelist, resource.b...
^
HINT: Perhaps you meant to reference the column "resource.block_dnc".
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/api_dnl/resources.py", line 545, in _on_get
objects_list, total, page, per_page, fields = self.get_objects_list(req, self.model_class, **kwargs)
File "/usr/lib/python3.6/site-packages/api_dnl/resources.py", line 776, in get_objects_list
query_only = 'query_only' in kwargs
File "/usr/lib/python3.6/site-packages/api_dnl/base_model.py", line 158, in get_objects_list
return qs.all(), cnt
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 2703, in all
return list(self)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
return self._execute_and_instances(context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 2878, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 945, in execute
return meth(self, multiparams, params)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
exc_info
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedColumn) column resource.block_dno does not exist
LINE 35: ...ntry_whitelist AS resource_ani_country_whitelist, resource.b...
^
HINT: Perhaps you meant to reference the column "resource.block_dnc".
[SQL: 'SELECT (SELECT
client.name \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_1, (SELECT client.client_type \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_2, (SELECT client.mode \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_3, (SELECT client.status \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_4, (SELECT client.allowed_credit \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_5, (SELECT client.call_limit \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_6, (SELECT client.cps_limit \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_7, (SELECT coalesce(client.rate_email, client.email) AS coalesce_1 \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_8, (SELECT client.email \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_9, (SELECT
client.name \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_10, (SELECT (SELECT users.is_online = %(is_online_1)s AS anon_13 \nFROM users \nWHERE users.user_id = client.user_id) AS anon_12 \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_11, (SELECT client.status \nFROM client \nWHERE client.client_id = resource.client_id) AS anon_14, (SELECT
rate_table.name \nFROM rate_table \nWHERE rate_table.rate_table_id = resource.rate_table_id) AS anon_15, (SELECT count(
dynamic_route_items.id) AS count_1 \nFROM dynamic_route_items \nWHERE dynamic_route_items.resource_id = resource.resource_id) AS anon_16, (SELECT count(DISTINCT product.product_id) AS count_2 \nFROM product, product_items_resource, product_items \nWHERE product_items_resource.resource_id = resource.resource_id AND product_items.product_id = product.product_id AND product_items_resource.item_id = product_items.item_id AND product_items.product_id IS NOT NULL) AS anon_17, (SELECT random_ani_group.group_name \nFROM random_ani_group \nWHERE
random_ani_group.id = resource.random_table_id) AS anon_18, resource.resource_id AS resource_resource_id,
resource.name AS resource_name, resource.ingress AS resource_ingress, resource.egress AS resource_egress, resource.active AS resource_active, resource.account_id AS resource_account_id, resource.agent_type AS resource_agent_type, resource.alias AS resource_alias, resource.amount_per_port AS resource_amount_per_port, resource.ani_cap_limit AS resource_ani_cap_limit, resource.ani_cps_limit AS resource_ani_cps_limit, resource.auth_type AS resource_auth_type, resource.bill_by AS resource_bill_by, resource.billing_method AS resource_billing_method, resource.billing_port_type AS resource_billing_port_type, resource.billing_rule AS resource_billing_rule, resource.billing_type AS resource_billing_type, resource.block_404_number_time AS resource_block_404_number_time, resource.block_time AS resource_block_time, resource.canada_other AS resource_canada_other, resource.canada_route AS resource_canada_route, resource.capacity AS resource_capacity, resource.cli_type AS resource_cli_type, resource.client_id AS resource_client_id, resource.cost_per_port AS resource_cost_per_port, resource.counter_time AS resource_counter_time, resource.cps_limit AS resource_cps_limit, resource.create_time AS resource_create_time, resource.delay_bye_limit AS resource_delay_bye_limit, resource.delay_bye_second AS resource_delay_bye_second, resource.disable_by_alert AS resource_disable_by_alert, resource.display_name AS resource_display_name, resource.div AS resource_div, resource.dnis_cap_limit AS resource_dnis_cap_limit, resource.dnis_cps_limit AS resource_dnis_cps_limit, resource.dnis_only AS resource_dnis_only, resource.dtmf_detect AS resource_dtmf_detect, resource.dtmf_type AS resource_dtmf_type, resource.dummy_trunk AS resource_dummy_trunk, resource.egress_bill_after_action AS resource_egress_bill_after_action, resource.enfource_cid AS resource_enfource_cid, resource.enough_balance AS resource_enough_balance, resource.group_id AS resource_group_id, resource.ignore_early_media AS resource_ignore_early_media, resource.ignore_early_nosdp AS resource_ignore_early_nosdp, resource.ignore_ring AS resource_ignore_ring, resource.inband AS resource_inband,
resource.info AS resource_info, resource.intl_route AS resource_intl_route, resource.is_del AS resource_is_del, resource.is_virtual AS resource_is_virtual, resource.jurisdiction_use_dnis AS resource_jurisdiction_use_dnis, resource.last_priority AS resource_last_priority, resource.lnp AS resource_lnp, resource.lnp_dipping AS resource_lnp_dipping, resource.lnp_dipping_rate AS resource_lnp_dipping_rate, resource.lrn_block AS resource_lrn_block, resource.lrn_prefix AS resource_lrn_prefix, resource.marketplace AS resource_marketplace, resource.max_duration AS resource_max_duration, resource.media_timeout AS resource_media_timeout, resource.media_type AS resource_media_type, resource.number AS resource_number, resource.oli AS resource_oli, resource.paid AS resource_paid, resource.pass_response_code AS resource_pass_response_code, resource.pass_through AS resource_pass_through, resource.pci AS resource_pci, resource.price_per_actual_channel AS resource_price_per_actual_channel, resource.price_per_max_channel AS resource_price_per_max_channel, resource.priority AS resource_priority, resource.priv AS resource_priv, resource.private AS resource_private, resource.product_id AS resource_product_id, resource.profit_margin AS resource_profit_margin, resource.profit_type AS resource_profit_type, resource.proto AS resource_proto, resource.purged AS resource_purged, resource.random_table_id AS resource_random_table_id, resource.rate_decimal AS resource_rate_decimal, resource.rate_rounding AS resource_rate_rounding, resource.rate_table_id AS resource_rate_table_id, resource.rate_use_rpid AS resource_rate_use_rpid, resource.rating_type AS resource_rating_type, resource.re_invite AS resource_re_invite, resource.re_invite_interval AS resource_re_invite_interval, resource.redirect AS resource_redirect, resource.res_strategy AS resource_res_strategy, resource.resource_block_group_id AS resource_resource_block_group_id, resource.resource_template_id AS resource_resource_template_id, resource.rfc2833 AS resource_rfc2833, resource.rfc_2833 AS resource_rfc_2833, resource.rfc_r833_payload AS resource_rfc_r833_payload, resource.ring_timeout AS resource_ring_timeout, resource.route_strategy_id AS resource_route_strategy_id, resource.rpid AS resource_rpid, resource.rpid_id_type AS resource_rpid_id_type, resource.rpid_party AS resource_rpid_party, resource.rpid_privacy AS resource_rpid_privacy, resource.rpid_screen AS resource_rpid_screen, resource.service_type AS resource_service_type, resource.shaken_sign_policy AS resource_shaken_sign_policy, resource.shaken_vfy_policy AS resource_shaken_vfy_policy, resource.shaken_allow_resign AS resource_shaken_allow_resign, resource.shaken_ani_group_list_id AS resource_shaken_ani_group_list_id, resource.shaken_default_attest_lvl AS resource_shaken_default_attest_lvl, resource.shaken_p_headers AS resource_shaken_p_headers, resource.status AS resource_status, resource.switch_profile_id AS resource_switch_profile_id, resource.t38 AS resource_t38, resource.tdm AS resource_tdm, resource.transaction_fee_id AS resource_transaction_fee_id, resource.transnexus AS resource_transnexus, resource.trunk_type AS resource_trunk_type, resource.trunk_type2 AS resource_trunk_type2, resource.update_at AS resource_update_at, resource.update_by AS resource_update_by, resource.update_time AS resource_update_time, resource.us_other AS resource_us_other, resource.us_route AS resource_us_route, resource.vfy_policy AS resource_vfy_policy, resource.wait_ringtime180 AS resource_wait_ringtime180, resource.ym_fraud_prob AS resource_ym_fraud_prob, resource.ym_spam_score AS resource_ym_spam_score, resource.ym_tcpa_prob AS resource_ym_tcpa_prob, resource.rate_profile AS resource_rate_profile, resource.priv_value AS resource_priv_value, resource.use_sip404_ani AS resource_use_sip404_ani, resource.old_detail_table AS resource_old_detail_table, resource.max_failover_route_count AS resource_max_failover_route_count, resource.block_dnc AS resource_block_dnc, resource.block_wireless AS resource_block_wireless, resource.block_wireless_ani AS resource_block_wireless_ani, resource.block_toll_free_ani AS resource_block_toll_free_ani, resource.invalid_ani_action AS resource_invalid_ani_action, resource.ani_country_whitelist AS resource_ani_country_whitelist, resource.block_dno AS resource_block_dno, (SELECT count(resource_ip.resource_ip_id) AS count_3 \nFROM resource_ip \nWHERE resource.resource_id = resource_ip.resource_id AND resource_ip.reg_type = %(reg_type_1)s) AS anon_19, (SELECT string_agg(CAST(resource_prefix.route_strategy_id AS VARCHAR), %(string_agg_2)s) AS string_agg_1 \nFROM resource_prefix \nWHERE resource_prefix.resource_id = resource.resource_id GROUP BY resource_prefix.resource_id \n LIMIT %(param_1)s) AS anon_20, (SELECT resource_prefix.tech_prefix \nFROM resource_prefix \nWHERE resource_prefix.resource_id = resource.resource_id AND resource_prefix.resource_id IS NOT NULL ORDER BY
resource_prefix.id \n LIMIT %(param_2)s) AS anon_21, (SELECT rate_send_log_detail.sent_on \nFROM rate_send_log_detail \nWHERE resource.resource_id = rate_send_log_detail.resource_id ORDER BY rate_send_log_detail.sent_on DESC \n LIMIT %(param_3)s) AS anon_22 \nFROM resource, users \nWHERE resource.egress = true AND resource.alias != %(alias_1)s AND resource.purged = false AND (users.user_id = %(user_id_1)s AND users.user_type = %(user_type_1)s OR users.user_id = %(user_id_2)s AND users.user_type = %(user_type_2)s AND resource.client_id = users.client_id OR resource.client_id IN (SELECT users_limit.client_id \nFROM users_limit \nWHERE users.user_id = %(user_id_3)s AND users.user_type = %(user_type_3)s AND users.user_id = users_limit.user_id) OR resource.client_id IN (SELECT agent_clients.client_id \nFROM agent_clients, agent \nWHERE users.user_id = %(user_id_4)s AND users.user_type = %(user_type_4)s AND users.user_id = agent.user_id AND agent.agent_id = agent_clients.agent_id)) AND (
resource.name IS NULL OR
resource.name NOT LIKE %(name_1)s) AND resource.trunk_type2 = %(trunk_type2_1)s AND resource.egress = %(egress_1)s AND resource.ingress IN (%(ingress_1)s) \n LIMIT %(param_4)s OFFSET %(param_5)s'] [parameters: {'is_online_1': 1, 'reg_type_1': 0, 'string_agg_2': ',', 'param_1': 1, 'param_2': 1, 'param_3': 1, 'alias_1': '', 'user_id_1': 1, 'user_type_1': 0, 'user_id_2': 1, 'user_type_2': 1, 'user_id_3': 1, 'user_type_3': 1, 'user_id_4': 1, 'user_type_4': 2, 'name_1': '#%', 'trunk_type2_1': 0, 'egress_1': 'true', 'ingress_1': False, 'param_4': 999, 'param_5': 0}]
' at resources.py: 578
2023-06-15 23:48:14,204 [DEBUG] 'Responding with 406 Not Acceptable: {"success": false, "error": {"message": "(psycopg2.errors.UndefinedColumn) column resource.block_dno does not exist\nLINE 35: ...ntry_whitelist AS resource_ani_country_whitelist, resource.b...", "code": 406, "reason": "ProgrammingError"}, "error_type": "operation_error"}' at middleware.py: 96
[root@sw api_dnl]#