• To improve the visibility into why outbound call dialing fails, we are refactoring the disconnection reasons and call status field for these unconnected cals.
    • existing disconnections reasons related to unconnected calls: dial_failed, dial_busy, dial_no_answer will stay, but dial_failed will contain less scenarios — representing cases where sip error codes are not available, or error unknown.
    • new disconnection reasons:
      • invalid_destination: representing cases where destination phone number is invalid.
      • telephony_provider_permission_denied: representing cases where the sip trunk authentication failed.
      • telephony_provider_unavailable: representing cases where the telephony provider is not available or have errors.
      • sip_routing_error: representing cases where there are loops or issues with the sip routing.
      • marked_as_spam: representing cases where the call is marked as spam.
      • user_declined: representing cases where the user explicitly declined the call.
    • these unconnected calls will not have a status of error, but instead will have a status of not_connected. This changes will be a breaking change for some user’s existing codebase, so it’s recommended to not rely on status filter to find these unconnected calls.
  • warm_transfer_option and show_transferee_as_caller of TransferCallTool will be replaced by public_handoff_option and show_transferee_as_caller under a new data structure transfer_option of TransferCallTool, respectively.