def assign_number_to_VC()

in src/handlerLambda/callForwardHandler.py [0:0]


def assign_number_to_VC(queried_number, voice_connector_ID):
    number = queried_number["PhoneNumber"]["E164PhoneNumber"]
    logger.info("Assigning {} to Voice Connector {}".format(number, voice_connector_ID))

    # Disable and delete the associated SIP Rule
    if queried_number["PhoneNumber"]["Status"] == "Assigned":
        chime_client.update_sip_rule(
            SipRuleId=queried_number["PhoneNumber"]["Associations"][0]["Value"],
            Name=queried_number["PhoneNumber"]["Associations"][0]["Name"],
            Disabled=True,
        )
        chime_client.delete_sip_rule(SipRuleId=queried_number["PhoneNumber"]["Associations"][0]["Value"])

    # Wait for the status to be changed to Unassigned
    while queried_number["PhoneNumber"]["Status"] == "Assigned":
        time.sleep(2)
        queried_number = chime_client.get_phone_number(PhoneNumberId=number)

    # Set Product Type to VC
    chime_client.update_phone_number(PhoneNumberId=number, ProductType="VoiceConnector")

    # Associate number with a Voice Connector
    vc_associate_response = chime_client.associate_phone_numbers_with_voice_connector(
        VoiceConnectorId=voice_connector_ID,
        E164PhoneNumbers=[
            number,
        ],
        ForceAssociate=True,
    )
    return vc_associate_response