为 SMPP 配置 BYO SMS
- Genesys Cloud CX 2、Genesys Cloud CX 3、Genesys Cloud CX 4、Genesys Cloud CX 2 Digital、Genesys Cloud CX 3 Digital 或 Genesys Cloud CX 1 Digital Add-on II 许可证
- 集成>一体化>添加,删除,编辑, 和看法权限
- 短信>电话号码>全部权限
- 供应商提供的连接属性来配置短消息点对点(SMPP)短信服务(SMS)一体化
- Genesys Cloud 互联网协议 (IP) 地址已添加到供应商允许名单在第 4 步中可用:保存本文中的配置部分。
- 供应商允许 Genesys Cloud 建立三个 SMPP 绑定,这是默认绑定计数,目前不可配置
使用自带 (BYO) 短信功能将您现有的短信点对点 (SMPP) 帐户连接到 Genesys Cloud。如果您的 SMS 提供商支持 SMPP 接口,您可以集成它并开始使用 Genesys Cloud 的完整 SMS 功能与客户发送和接收 SMS 消息。
有关自带短信的定价,请参阅 Genesys Cloud 合理使用政策。
- 如果您是间接 Genesys Cloud 客户,则必须直接与您的合作伙伴组织合作为 SMPP 设置 BYO SMS。
- 确保 Genesys Cloud IP 地址已添加到供应商允许列表中。看供应商允许名单在第 4 步中可用:保存本文中的配置部分。
- Genesys Cloud BYO SMS for SMPP 不支持:
- Genesys Cloud 希望收到每个段的传递报告,以便跟踪连接消息的传递。
- 作为客户,请确保您与 SMS 提供商合作完成任何所需的用例注册。
- 无论客户选择哪家消息服务提供商,Genesys Cloud 都需要拥有 SMS 关键字合规功能。短信关键词合规功能包括:
- 管理和处理合规性关键字(例如:救命,停下来)。
- 发送强制性的自动回复。
- 确保所有退出请求都得到处理。
设置 BYO SMPP SMS 集成
要设置 BYO SMPP SMS 集成,请执行以下步骤:
- 单击 管理员。
- 在 “集成” 下,单击 “ 集成”。
- 点击菜单> IT与集成>集成。
- 单击 集成。
- 找到自带 SMPP 配置瓦。如果您已经使用 BYO Twilio 集成,请继续安装您的集成。如果您没有看到 SMPP SMS 帐户配置图块,则必须添加它。要添加 SMPP SMS 帐户配置图块,请执行以下步骤:
- 前往 G enesys AppFoundry。
- 搜索自带短信帐户。
- 要将 BYO SMPP SMS 集成添加到您的 Genesys Cloud 组织,请按照本节提供的说明进行操作。
- 点击安装。将显示“自带 SMPP 配置”屏幕。
您现在可以继续配置和管理您的 BYO SMPP SMS 集成。
配置和管理您的 BYO SMPP SMS 集成
配置您的 BYO SMPP SMS 集成
在细节选项卡,输入集成的名称并添加注释。Genesys Cloud 建议您使用有意义的名称和注释来识别您的 SMPP 帐户。
单击每个选项卡以获取更多信息。
配置选项卡显示默认为“属性”选项卡。一个添加您的 SMPP 供应商的相关详细信息。定义以下字段的属性:
- 在SMSC 地址字段中,输入供应商 SMSC 的主机名或 IP 地址。
- 在入站加前缀字段,指示您的供应商是否在入站(移动发起)消息的源地址(而非移动手机号码)中包含前导 +。这些值是:
- 真
- 错误的
- 在出站加前缀字段,指示您的供应商是否要求在出站(移动终止)消息的源地址前加上 +。这些值是:
- 真
- 假(这是默认选择。)
- 在SMSC端口在字段中,输入连接到供应商短信中心的端口详细信息。默认值为 2776,这是 SMPP over TLS 的常规加密端口。Genesys Cloud 建议您使用默认端口值。Genesys Cloud 支持以下附加端口: 1776、2775、2776、2780、3550、3601、3775、4200、4201、4331、4332、7777、8495、8887、10000、29999、30001、30007 和 52775。 笔记:如果列表中没有看到您的端口,您可以通过提交请求来请求自定义端口值Genesys Cloud 我的支持。然而,该请求可能需要 3 至 4 周的时间才能实施。
- 在地址 TON字段中,选择号码类型(TON)。您可以选择值 0–6。零是默认值。这适用于发送出站消息的电话号码发自。
- 在地址 NPI字段中,选择编号计划标识 (NPI) 值。您可以选择以下任意值:0,1,3,4,6,8,9,10,13,18.零是默认值。这适用于发送出站消息的电话号码发自。
- 在默认目标地址 TON字段中,选择所需的值。您可以选择值 0–6。零是默认值。这适用于发送出站消息的电话号码发送至。
- 在默认目标地址 NPI字段中,选择编号计划标识的值。您可以选择以下任意值:0,1,3,4,6,8,9,10,13,18.零是默认值。这适用于发送出站消息的电话号码发送至。
- 在每秒消息数字段中,输入所需的值。默认值为每秒 20 条消息,最大限制为每秒 100 条消息。
- 在绑定类型字段中,选择类型。可供选择的类型有:
- 收发器:这是默认和推荐的选择。
- 发射机:如果选择此选项,请确保您有一个接收器绑定来接收传递报告和移动设备发起的消息。如果您没有接收器,则无法接收送达报告和移动发起的消息。
- 接收者
在高级配置部分,输入字符集编码SMPP 供应商的详细信息或错误代码为您的 SMPP 供应商。您可以选择将此部分留空并使用默认配置。
{
"protocolSpecificCodeMapping": {
"0": {
"genericErrorCode": 0,
"genericErrorCause": "DELIVERED",
"description": "Message delivered"
},
"1" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "Message length is invalid"
},
"2" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "Command length is invalid"
},
"3": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "Invalid command ID"
},
"4": {
"genericErrorCode": 2,
"genericErrorCause": "OTHER_TEMPORARY_FAILURE",
"description": "Incorrect carrier status for given command"
},
"5": {
"genericErrorCode": 2,
"genericErrorCause": "OTHER_TEMPORARY_FAILURE",
"description": "Incorrect carrier status for given command"
},
"6": {
"genericErrorCode": 3,
"genericErrorCause": "PRIORITY_INVALID",
"description": "Invalid priority flag"
},
"7": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "Invalid registered delivery flag"
},
"8": {
"genericErrorCode": 2,
"genericErrorCause": "OTHER_TEMPORARY_FAILURE",
"description": "Internal system error"
},
"10" : {
"genericErrorCode": 3,
"genericErrorCause": "SOURCE_ADDR_INVALID",
"description": "Invalid source address"
},
"11" : {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "Invalid destination address"
},
"12" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_ID_INVALID",
"description": "Invalid message ID"
},
"13" : {
"genericErrorCode": 2,
"genericErrorCause": "OTHER_TEMPORARY_FAILURE",
"description": "Bind failed"
},
"14" : {
"genericErrorCode": 2,
"genericErrorCause": "AUTHENTICATION_FAILED",
"description": "Invalid password"
},
"15" : {
"genericErrorCode": 2,
"genericErrorCause": "AUTHENTICATION_FAILED",
"description": "Invalid system ID"
},
"17" : {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RCANCELFAIL: Cancel SM failed."
},
"19" : {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RREPLACEFAIL: Replace SM failed."
},
"20" : {
"genericErrorCode": 2,
"genericErrorCause": "CARRIER_CONGESTED",
"description": "ESME_RMSGQFUL: Message queue full."
},
"21" : {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RINVSERTYP: Invalid service type."
},
"51" : {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "ESME_RINVNUMDESTS: Invalid number of destinations."
},
"52": {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "ESME_RINVLDLNAME: Invalid distribution list name."
},
"64" : {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "ESME_RINVDESTFLAG: Destination flag is invalid (submit_multi)."
},
"66": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVSUBREP: Invalid 'submit with replace' request (i.e. submit_sm with replace_if_present_flag set)."
},
"67" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVESMCLASS: Invalid esm_class field data."
},
"68" : {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "ESME_RCNTSUBDL: Cannot submit to distribution list."
},
"69": {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RSUBMITFAIL: submit_sm or submit_multi failed."
},
"72" : {
"genericErrorCode": 3,
"genericErrorCause": "SOURCE_ADDR_INVALID",
"description": "ESME_RINVSRCTON: Invalid source address TON."
},
"73" : {
"genericErrorCode": 3,
"genericErrorCause": "SOURCE_ADDR_INVALID",
"description": "ESME_RINVSRCNPI: Invalid source address NPI."
},
"80" : {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "ESME_RINVDSTTON: Invalid destination address TON."
},
"81" : {
"genericErrorCode": 3,
"genericErrorCause": "DEST_ADDR_INVALID",
"description": "ESME_RINVDSTNPI: Invalid destination address NPI."
},
"83": {
"genericErrorCode": 3,
"genericErrorCause": "AUTHENTICATION_FAILED",
"description": "ESME_RINVSYSTYP: Invalid system_type field."
},
"84" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVREPFLAG: Invalid replace_if_present flag."
},
"85" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVNUMMSGS: Invalid number of messages."
},
"88" : {
"genericErrorCode": 2,
"genericErrorCause": "THROTTLED",
"description": "ESME_RTHROTTLED: Throttling error(ESME has exceeded allowed message limits)."
},
"97" : {
"genericErrorCode": 3,
"genericErrorCause": "TIME_PERIOD_INVALID",
"description": "ESME_RINVSCHED: Invalid scheduled delivery time."
},
"98" : {
"genericErrorCode": 3,
"genericErrorCause": "TIME_PERIOD_INVALID",
"description": "ESME_RINVEXPIRY: Invalid message validity period (expiry time)."
},
"99" : {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVDFTMSGID: Predefined message invalid or not found."
},
"100": {
"genericErrorCode": 2,
"genericErrorCause": "OTHER_TEMPORARY_FAILURE",
"description": "ESME_RX_T_APPN: ESME receiver temporary app error code."
},
"101": {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RX_P_APPN: ESME receiver permanent app error code."
},
"102": {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RX_R_APPN: ESME receiver reject message error code."
},
"103": {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RQUERYFAIL: query_sm request failed."
},
"192": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVOPTPARSTREAM: Error in the optional part of the PDU body."
},
"193": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_ROPTPARNOTALLWD: Optional parameter not allowed."
},
"194": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVPARLEN: Invalid parameter length."
},
"195": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RMISSINGOPTPARAM: Expected optional parameter missing."
},
"196": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "ESME_RINVOPTPARAMVAL: Invalid optional parameter value."
},
"254": {
"genericErrorCode": 2,
"genericErrorCause": "CARRIER_DELIVERY_FAILED",
"description": "ESME_RDELIVERYFAILURE: Delivery failure (used for data_sm_resp)."
},
"255": {
"genericErrorCode": 3,
"genericErrorCause": "OTHER_PERMANENT_FAILURE",
"description": "ESME_RUNKNOWNERR: Unknown error."
}
},
"charsets": [
{
"dcs": 0,
"charset": "gsm_0338"
},
{
"dcs": 1,
"charset": "ASCII"
},
{
"dcs": 2,
"charset": "gsm_0338"
},
{
"dcs": 3,
"charset": "ISO-8859-1"
},
{
"dcs": 5,
"charset": "JIS0201"
},
{
"dcs": 6,
"charset": "ISO-8859-5"
},
{
"dcs": 7,
"charset": "ISO-8859-8"
},
{
"dcs": 8,
"charset": "utf-16be"
}
]
}
当您输入自定义高级配置时,它会覆盖自定义错误代码的默认值,同时保留任何未被覆盖的默认值。自定义高级配置必须是有效的 JSON 对象,并遵循正确的模式。
{
"protocolSpecificCodeMapping": {
"0": {
"genericErrorCode": 0,
"genericErrorCause": "DELIVERED",
"description": "Message delivered"
},
"1": {
"genericErrorCode": 3,
"genericErrorCause": "MESSAGE_DATA_INVALID",
"description": "Message length is invalid"
}
},
"charsets": [
{
"dcs": 0,
"charset": "gsm_0338"
},
{
"dcs": 1,
"charset": "ASCII"
}
]
}
下表描述了高级配置选项卡中的两个部分:
| 部分名称 | 描述 |
|---|---|
| protocolSpecificCodeMapping |
使用此部分将您的供应商错误代码映射到 Genesys Cloud 可以进一步解释的通用错误。
|
| 字符集 |
使用此部分字符集偏好的有序列表。您可以使用它来对消息进行编码,然后再将其发送到供应商 SMSC。如果消息无法使用列表中的第一个字符集进行编码,则使用下一个字符集,依此类推。字符集示例如下:
|
在证书选项卡,点击配置。此时将显示 “配置凭据” 对话框。执行以下步骤:
- 在系统 ID框中,输入您的 SMPP 帐户的系统 ID。
- 在密码框中,输入您的 SMPP 帐户的密码。 笔记:Genesys Cloud 加密您的 SMPP 凭证并将其存储在安全的环境中。有关详细信息,请参阅Genesys Cloud 如何处理凭证?
- 单击 “ 确定”。
完成集成中的字段后,单击节省保存您的配置。
如果“保存”按钮不可供选择,请与您的供应商核实他们是否维护 IP 允许列表。将 SMPP 绑定请求源自的 Genesys Cloud IP 地址添加到该允许列表。要获取 IP 地址列表,请执行以下步骤:
- 导航至API 中心。
- 在页面右上角,点击账户选择下拉列表。
- 点击添加帐户并选择您的 Genesys Cloud 组织的区域。
- 在左侧面板上,单击API 资源。
- 从列表中选择公用事业。
- 点击获取 /api/v2/ipranges 。
- 在页面右侧,关闭阅读模式已启用切换退出阅读模式。
- 点击执行请求。
- 显示“响应”部分。您可以查看可以执行的 IP 地址并定位 byo-smpp 服务的 IP 地址。有关详细信息,请参阅防火墙允许列表中的 IP 地址。
完成上述所有步骤后,您最终可以激活您的集成。要激活您的集成,请在页面底部点击积极的。
Genesys Cloud 尝试使用配置集成时使用的供应商属性建立 SMPP 绑定。预计需要等待 15 分钟才能测试和建立绑定。如果绑定不成功且连接失败,请参阅本文中的故障排除和操作控制台部分。进入操作控制台后,查找开发者中心。
如果您在集成过程中遇到问题,则必须直接与供应商合作。
管理您的 BYO SMPP SMS 集成
一旦您的集成准备就绪,您就可以将您的号码添加到短信号码库存中,更新、停用或删除您的集成。单击每个可折叠项以获取更多信息。
设置 SMPP SMS 集成后,您就可以将您的号码添加到 SMS 号码库存中。一次只能添加一个号码。
要添加您的短信号码,请执行以下步骤:
- 单击 管理员。
- 在“消息”下,单击短信号码清单。
- 点击菜单>数字电话>信息>短信库存。
- 出现短信号码清单页面。点击添加数字。
- 单击 “ 导入”。
- 出现“导入号码”对话框。在一体化列表中,选择要从中导入号码的集成。
- 在类型列表中,选择要导入的号码类型。
- 本地、移动或免费电话:显示发件人 ID字段,您可以使用该字段输入采用 E164 格式的号码。当您导入本地、移动或免费电话号码时,Genesys 会自动为 HELP 和 STOP 关键字提供一组标准的自动响应。
默认自动回复 描述 帮助关键字 帮助或信息。 帮助自动回复 回复 STOP 取消订阅。可能需要支付信息和数据费用。 选择退出关键字 取消、结束、退出、停止、取消订阅、停止所有、撤销或选择退出。 选择退出自动回复 您已成功取消订阅。您将不会再收到来自该号码的任何消息。回复 START 即可重新订阅。 选择加入关键字 开始、是或停止。 选择加入自动回复 您已成功重新订阅该号码的消息。回复 HELP 寻求帮助。回复 STOP 取消订阅。可能需要支付信息和数据费用。 - 简码:显示国家和发件人 ID字段,您可以使用这些字段选择国家/地区并使用 E164 格式输入号码。
- 本地、移动或免费电话:显示发件人 ID字段,您可以使用该字段输入采用 E164 格式的号码。当您导入本地、移动或免费电话号码时,Genesys 会自动为 HELP 和 STOP 关键字提供一组标准的自动响应。
- 单击 下一步。
- 在类型列表中,如果您选择了短代码作为类型,它会显示所需交互对话框。 该对话框显示以下选项卡:
- 在“帮助”选项卡中,执行以下操作:
- 在 “关键词” 框中,输入要使用的帮助关键字。
- 在 “消息” 框中,输入您要发送给客户以响应帮助请求的消息。
- 在在“选择退出”选项卡中,执行以下操作:
- 在 “关键词” 框中,输入您要使用的退出关键字。
- 在 “消息” 框中,输入您要发送给客户以响应选择退出请求的消息。
- 在重新选择加入选项卡,执行以下操作:
- 在 “关键词” 框中,输入您要使用的选择加入关键词。
- 在 “消息” 框中,输入您要发送给客户以响应选择加入请求的消息。
- 在“帮助”选项卡中,执行以下操作:
- 单击 “确认导入”。 Genesys Cloud 会检索短信号码数据,然后将您返回到 “短信号码清单” 页面。 页面顶部会出现一个祝酒词,告诉你数字导入已成功。
有关更多信息,请参阅管理您的 SMS 长代码库存。
您可以从集成仪表板更改您的 SMPP SMS 集成。要更新集成,请执行以下步骤:
- 从集成仪表板中,选择要进行更改的集成。
- 在“详细信息”、“配置属性”、“高级”或“凭据”选项卡中进行所需的更改。
- 单击 “ 保存”。
- 如果集成处于非活动状态,则打开开关以激活集成。
- 如果集成已经处于活动状态,则关闭切换开关使其处于非活动状态,然后再次将其更改为活动状态。
您可以从集成仪表板页面停用 SMPP SMS 集成。要停用您的集成,请执行以下步骤:
- 在集成页面的操作列中,单击更多的图标。
- 从选项中选择停用集成。
当您停用集成时:
- 它是在 Genesys Cloud 中临时完成的,并且为此集成导入的所有号码都将被禁用。
- SMPP 连接已断开。这意味着无法发送或接收任何消息。任何发送或接收的消息都会被添加到队列中,并且会一直保留到连接被激活为止。
您可以从集成仪表板页面删除您的 SMPP SMS 集成。要删除您的集成,请执行以下步骤:
- 在集成页面的操作列中,单击更多的图标。
- 从选项中选择删除集成。
- 删除 SMPP SMS 集成将关闭 Genesys Cloud 中的 SMPP 连接,您将无法使用它来发送或接收短信。
- 确保删除 Genesys Cloud IP 地址。
排除故障
下表列出了将您的 SMPP 帐户与 Genesys Cloud 集成时可能会看到的常见错误消息及其描述。
| 消息 | 描述 |
|---|---|
| 请查看集成以获取 BYO 发件人 ID。 | 当请求发送到后端服务并且集成缺少发件人 ID 时,会出现此消息。 |
| 请为您的发件人 ID 提供所需的合规关键字和消息。 |
当缺少任何合规性信息时,就会出现此消息。检查“必需交互”对话框中三个选项卡上的字段:
|
| 请检查您的发件人 ID 类型。 |
当电话号码或短代码格式不正确时,就会出现此消息。
|
| 请检查您的发件人 ID 国家/地区代码。 | 当电话号码和国家/地区代码不匹配时,会出现此消息。 |
| 此电话号码地址的配置操作已在进行中。 | 如果您尝试重新提交已配置的请求,则会显示此消息。 有些数字需要更长的时间才能调配。 |
| 此电话号码地址不可用于配置。 请选择其他电话号码地址,然后重试。 | 当电话号码已在其他组织中配置时,就会出现此消息。 |
操作控制台
您可以在操作控制台中找到与 BYO SMPP 集成相关的事件。要导航到操作控制台,请执行以下步骤:
- 单击 管理员。
- 在“疑难解答”下,单击操作控制台。
- 点击菜单> IT与集成>操作控制台。
将显示“操作控制台”页面。
有关与 BYO SMPP 相关的操作事件的 SMS 事件目录的更多信息,请参阅SMS 事件目录在开发者中心。 有关使用操作控制台的更多信息,请参阅使用 Genesys Cloud 操作控制台进行故障排除。
如果您在集成方面遇到进一步的问题,您必须直接与您的供应商合作。
