AWS Connect Start Outbound Call客户拒接后仍重复呼叫问题求助
解决AWS Connect拒接后重复外呼的问题
以下是几个直接可行的解决思路:
调整
StartOutboundVoiceContact的重试参数
AWS Connect的StartOutboundVoiceContact接口默认带有重试逻辑,你可以在调用时显式设置RetryAttempts=0来禁用自动重试。如果后续需要保留特定场景的重试,也可配合RetryDelaySeconds调整间隔,但设为0能彻底阻止拒接后的重复呼叫。示例代码(boto3):import boto3 connect_client = boto3.client('connect') response = connect_client.start_outbound_voice_contact( DestinationPhoneNumber='+1XXXYYYZZZZ', ContactFlowId='your-contact-flow-id', InstanceId='your-instance-id', RetryAttempts=0 # 关键参数:禁用默认重试 )在联系流中添加拒接/无应答的终止分支
进入集成Lex的联系流后,首先添加“检查呼叫状态”步骤:当检测到呼叫被拒接(Disconnect原因标记为rejected)或无应答时,直接触发“终止联系”动作,跳过后续流程,避免Connect触发默认的超时重试。具体操作是在联系流编辑器中,将“终止联系”模块与“拒接”状态的分支关联。自定义重试逻辑替代默认行为
如果需要针对特定场景做重试(比如仅网络故障时重试,拒接则不重试),可以在发起呼叫时通过Attributes传递自定义标记,比如{"AllowRetry": "false"},然后在联系流中根据这个标记和呼叫结果,决定是否通过Lambda发起自定义重试,完全绕过Connect的默认重试机制。检查队列与路由配置
确认外呼队列是否配置了“超时后重新路由”规则。如果队列设置了呼叫超时后重新分配到同一队列或其他路由,会导致重复呼叫。进入Connect控制台的队列设置,关闭自动重新路由,或者将超时时间调整至合理范围(比如15秒内),避免不必要的重试触发。
内容的提问来源于stack exchange,提问作者G. Bahaa
相关产品推荐
相关产品推荐

