我手头有一个新项目非常复杂,因为我不知道它的领域.我的要求是这个,我们有电话号码列表,我需要查看哪个电话号码是有效/真实的.
您如何编程电话或IVR系统以自动拨打此列表上的电话号码并自动检测它是否是有效的电话号码?我想用C#编写这个解决方案.
我正在尝试使用以下代码获取电话号码,
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
phoneImei = tm.getDeviceId();
phoneNo = tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
但是,它返回null值.当我检查设置时,电话号码未知.我正在使用galaxy nexus.知道如何解决这个问题.
在iOS上做同样的事情后,我正在为Android开发应用程序.其中一项功能是让用户只需点击一下按钮就可以一个接一个地拨打两个号码.
例如,假设您要拨打1-800-111-1111,然后拨打分机123456.在iOS上,您可以执行以下操作:tel:// 18001111111p123456.
我做了一些挖掘,找不到Android的任何东西.谁能提出任何建议?
一堆谢谢!
我的SIP服务提供商为我的办公室提供了一个主电话号码0120120020.我最近已经向我的SIP提供商询问了同一SIP帐户上的第二个电话号码0230230030.
当有人通过拨打主电话号码来打电话给办公室时,我希望Asterisk拨打属于A组的所有电话,如果拨打第二个电话号码,我希望它能拨打属于B组的所有电话.
我的extensions.conf包含以下行:
[sip-incoming-calls]
exten => s,1,Dial(SIP/10&SIP/11&SIP/12&SIP/20&SIP/21,20,tr)
Run Code Online (Sandbox Code Playgroud)
扩展10,11和12属于A组,扩展20和21属于B组.每个来自主要和第二个电话号码的来电都会响铃.
如何在CentOS 6.3下使用Asterisk 1.8进行此操作?
我有一个非常基本的 extensions.conf,内容如下context:
[LocalPhones]
exten => 1001,1,noop(Dialing ${PEX_ONE})
same => n,Macro(DialStartMonitor,${PEX_ONE})
same => n,Dial(SIP/${PEX_ONE},30,mTt)
same => n,Playback(vm-nobodyavail) ; Play "no one's available"
same => n,Hangup()
exten => 1002,1,noop(Dialing ${PEX_TWO})
same => n,Macro(DialStartMonitor,${PEX_TWO})
same => n,Dial(SIP/${PEX_TWO},30,mTt)
same => n,Playback(vm-nobodyavail) ; Play "no one's available"
same => n,Hangup()
exten => 1003,1,noop(Dialing ${PEX_THREE})
same => n,Macro(DialStartMonitor,${PEX_THREE})
same => n,Dial(SIP/${PEX_THREE},30,mTt)
same => n,Playback(vm-nobodyavail) ; Play "no one's available"
same => n,Hangup()
exten => 1004,1,Dial(Dialing ${PEX_FOUR})
same => n,Macro(DialStartMonitor,${PEX_FOUR})
same => n,Dial(SIP/${PEX_FOUR},10,m)
same => …Run Code Online (Sandbox Code Playgroud) 我见过两个Asterisk C++ API:*Astxx:Asterisk C++ API和Utility库.Asterisk的C++包装器,支持开发人员*C++ Asterisk Manager API包装器.支持从Asterisk服务器接收事件并向Asterisk发送操作.
有人尝试过其中一个项目吗?
提前致谢.
是否有可能让后台应用程序根据来电者的来电详细信息显示通知,无论是在应答呼叫之前还是在来电期间?
我的星号拨号计划中有以下上下文。
[start-call]
exten => _X.,1,AGI(agi://localhost:4000)
exten => _X.,n,GotoIf($["${AGISTATUS}" = "FAILURE"]?redirect)
exten => _X.,1000(redirect),Hangup(31)
exten => 900,n,Goto(start-call,${EXTEN},1)
exten => h,n,Hangup
Run Code Online (Sandbox Code Playgroud)
我有一个 AGI 应用程序,它连接呼叫并收集 DTMF 输入,并使用 SET EXTENSION agi 命令(第 1 行)将该号码设置为分机号。仅当没有 DTMF 输入时,我才将 AGISTATUS 设置为 FAILURE。如果没有输入,我就会超时并挂断(第 3 行)。但是,如果输入 900,我将返回到启动调用上下文,并在 AGI 应用程序中执行一些操作(第 4 行)。
问题是,现在即使我输入 900,电话也会挂断。不是从第 3 行开始,而是从最后一行开始。所以它以某种方式跳过了第 4 行。如果我将 900 分机(第 4 行)移到标记为重定向的分机(第 3 行)之前,它就会起作用。
我认为星号会自动增加“ n ”优先级,并希望它按照上面列出的顺序工作。我这里错了吗?
我有一个播放音频的应用程序.我最近添加了许可:
android.permission.READ_PHONE_STATE
Run Code Online (Sandbox Code Playgroud)
所以我可以告诉来电何时进来,这样我就可以在通话过程中静音.我还添加了许可:
android.permission.CALL_PHONE
Run Code Online (Sandbox Code Playgroud)
因此用户可以按图标来拨打电话号码.这些都是微小的变化,并不会影响大多数人使用该应用程序的方式.在我发布之后,我现在拥有的平板电脑没有手机功能的用户无法下载更新,而平板电脑的新用户不再在Play商店中看到它.
我阅读了几篇关于在清单中使用它而不是权限的帖子:
<uses-feature android:name="android.hardware.telephony" android:required="false">
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在设备上测试应用程序时,我收到此错误:
Caused by: java.lang.SecurityException: Neither user 10022 nor current process has android.permission.READ_PHONE_STATE.
Run Code Online (Sandbox Code Playgroud)
有没有人对如何在不疏远所有非电话用户的情况下将这些次要功能添加到应用程序有任何建议?
我看过类似于我的其他SO问题.但我找不到任何帮助.我已将ITelephony.java复制到com/android/internal/telephony.当我试图使用相同它说"无法解决符号ITelephony".
private ITelephony telephonyService;
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我正确的方向.任何帮助将不胜感激.
我尝试以编程方式在Android中发送DTMF音.但是模拟器会显示一个对话框,上面写着"你想发送这些音吗?" 它只在我点击OK时发送音调.但是,我如何以编程方式克服此对话框?
格拉西亚斯