Asterisk:如果号码是“number”并且满足多个条件,则重写设置呼叫者ID
创始人
2024-09-20 20:01:52
0
  1. 首先,您需要在Asterisk中创建一个扩展以接收呼叫。在此示例中,假设您为呼叫器指定了DID/扩展。

[my-did] exten => _X.,1,Noop(Incoming call to my DID)

  1. 然后,您需要将那些需要重写呼叫者ID的号码添加到Asterisk的数据库中。您可以使用ODBC,MySQL或PostgreSQL等技术来处理此数据。以下是一个MySQL查询的示例:

INSERT INTO rewrite_numbers (original_number, replacement_number) VALUES ('1234567890', '5555555555');

  1. 接下来,在您的DID扩展中,添加一些适当的条件来检查来电者是否是您想要重写呼叫者ID的号码。以下是一个示例,它将仅对从“1234567890”拨打的电话进行更改:

exten => _X.,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?replace-cid,s,1:default,cid-name-set)

  1. 如果条件成立,请使用Set(CALLERID(num)=5555555555)命令将呼叫者ID设置为替换号码。这是示例代码:

[replace-cid] exten => s,1,Set(CALLERID(num)=5555555555) same => n,Return()

  1. 最后,请确保您在Asterisk的Extensions.conf文件中为这些扩展设置了正确的上下文。以下是一个示例:

[default] exten => s,1,Answer() same => n,Background(some-welcome-message) same => n,Goto(my-did,1)

使用上述步骤,您将能够重写来电者的呼叫者ID,如果满足您

相关内容

热门资讯

安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
避免在粘贴双引号时向VS 20... 在粘贴双引号时向VS 2022添加反斜杠的问题通常是由于编辑器的自动转义功能引起的。为了避免这个问题...
Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
omi系统和安卓系统哪个好,揭... OMI系统和安卓系统哪个好?这个问题就像是在问“苹果和橘子哪个更甜”,每个人都有自己的答案。今天,我...
原生ios和安卓系统,原生对比... 亲爱的读者们,你是否曾好奇过,为什么你的iPhone和安卓手机在操作体验上有着天壤之别?今天,就让我...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...