拨打电话并使用somleng

时间:2017-12-19 10:27:07

标签: ruby twilio-api freeswitch ivr adhearsion

我非常有兴趣开始研究IVR项目。经过一些研究,我发现了somleng项目(https://medium.com/@dwilkie_34546/somleng-an-open-source-twilio-clone-a297062b340d)。 我曾尝试使用docker在ubuntu 14.04上安装完整的软件包,但freeswitch无法正常工作且adhearsion无法连接到它。 我决定单独安装每个组件:adhearsion-twilio,freeswitch,twilreapi。 我已经配置了mod-rayo,并且每个单独的测试似乎都能正常工作。 我已经启动了twilreapi并开始了以下调用:

  

curl -XPOST   http://localhost:3000/api/2010-04-01/Accounts/35af2347-5656-44fb-ba83-2d1bdd9c593b/Calls.json   -d“Method = GET”-d“Url = http://demo.twilio.com/docs/voice.xml”-d“To = + 85510202101”-d“From = 1234”-u   '35af2347-5656-44fb-ba83-2d1bdd9c593b:0c5388fa8fafaa8f73c62ee13e57030c1d4e3c01361f5b2445e844ae6f4f1c19'

我有这个回应:

  

{ “到”: “+ 85510202101”, “从”: “1234”, “状态”: “排队”, “SID”: “fcfcbd36-3186-4e78-8099-91956ebb2fc5”, “account_sid”:” 35af2347-5656-44fb-ba83-2d1bdd9c593b”, “URI”: “/ API / 2010-04-01 /会计/ 35af2347-5656-44fb-ba83-2d1bdd9c593b /电话/ fcfcbd36-3186-4e78-8099-91956ebb2fc5” “DATE_CREATED”:“星期二,   2017年12月19日10:12:13 +0000“,”date_updated“:”星期二,2017年12月19日10:12:13   0000" , “API_VERSION”: “2010-04-01”, “注释”:NULL, “answered_by”:NULL, “caller_name”:NULL, “方向”: “出站-API”, “持续时间”:空, “END_TIME”:NULL, “forwarded_from”:NULL, “from_formatted”:“+ 1   (234)   “ ”group_sid“:空, ”parent_call_sid“:空, ”phone_number_sid“:空, ”价格“:空, ”价格单位“:空, ”START_TIME“:空, ”subresource_uris“:{}, ”to_formatted“:” +855   10 202 101“}

但我没有在adhearsion方面或freeswitch看到任何日志活动。 这是正常的吗?

我的另一个问题是:实际上如何使用rapidpro或任何软电话启动呼叫并从此电路板表单获得响应(我已经安装了X-lite并使用freeswitch进行测试,它工作正常)。

嗨@dwilkie,谢谢你的帮助。在卸载第一个somleng项目后,我已经能够使用docker安装并测试所有五个组件。现在我尝试连接到rapidpro。我去了这些步骤: 1.获取twilreapi docker容器的ip地址,以便能够构建API URL。我用过docker ps命令 2.添加一个twiML api通道 数量:1234 TwiML REST API主机:http://172.18.0.6:3000 作用:声音 帐户sid和帐户令牌 但是在对rapidpro进行验证后,我有了这条消息

” 要完成配置TwiML REST API通道,您需要在TwiML REST API实例中添加以下URL。

TwiML REST API主机 将接收此通道的Twilio API请求的端点 http://172.18.0.6:3000 请求网址 此通道的传入消息将发送到此端点。 https://temba.ngrok.io/handlers/twiml_api/ff560773-3421-48a3-a241-c492c78dbcc4 “ 我忽略了这条消息并在rapidpro中建立了一个语音流。但是当我在rapidpro中启动流程时,我在twilreapi_1 / somleng方面看不到任何日志信息,但是当我使用rapidpro模拟器来测试流程时,我有这条消息 “ twilreapi_1 |在2017-12-28 14:13:03 +0000开始发布“/2010-04-01/Accounts/8461e585-9d4f-4f6e-9847-dddc9594f190/Calls.json”为172.18.0.1 twilreapi_1 |
twilreapi_1 | ActionController :: RoutingError(没有路由匹配[POST]“/2010-04-01/Accounts/8461e585-9d4f-4f6e-9847-dddc9594f190/Calls.json”): twilreapi_1 |
twilreapi_1 | actionpack(5.1.3)lib / action_dispatch / middleware / debug_exceptions.rb:63:in call' twilreapi_1 | actionpack (5.1.3) lib/action_dispatch/middleware/show_exceptions.rb:31:in call' twilreapi_1 | railties(5.1.3)lib / rails / rack / logger.rb:36:in call_app' twilreapi_1 | railties (5.1.3) lib/rails/rack/logger.rb:24:in阻止通话' twilreapi_1 | activesupport(5.1.3)lib / active_support / tagged_logging.rb:69:in block in tagged' twilreapi_1 | activesupport (5.1.3) lib/active_support/tagged_logging.rb:26:in tagged' twilreapi_1 | activesupport(5.1.3)lib / active_support / tagged_logging.rb:69:in tagged' twilreapi_1 | railties (5.1.3) lib/rails/rack/logger.rb:24:in call' twilreapi_1 | actionpack(5.1.3)lib / action_dispatch / middleware / remote_ip.rb:79:in call' twilreapi_1 | actionpack (5.1.3) lib/action_dispatch/middleware/request_id.rb:25:in call' twilreapi_1 | rack(2.0.3)lib / rack / method_override.rb:22:in call' twilreapi_1 | rack (2.0.3) lib/rack/runtime.rb:22:in call' twilreapi_1 | activesupport(5.1.3)lib / active_support / cache / strategy / local_cache_middleware.rb:27:in call' twilreapi_1 | actionpack (5.1.3) lib/action_dispatch/middleware/executor.rb:12:in call' twilreapi_1 | actionpack(5.1.3)lib / action_dispatch / middleware / static.rb:125:in call' twilreapi_1 | rack (2.0.3) lib/rack/sendfile.rb:111:in call' twilreapi_1 | railties(5.1.3)lib / rails / engine.rb:522:in call' twilreapi_1 | puma (3.9.1) lib/puma/configuration.rb:224:in call' twilreapi_1 | puma(3.9.1)lib / puma / server.rb:602:in handle_request' twilreapi_1 | puma (3.9.1) lib/puma/server.rb:435:in process_client' twilreapi_1 | puma(3.9.1)lib / puma / server.rb:299:in block in run' twilreapi_1 | puma (3.9.1) lib/puma/thread_pool.rb:120:in block in spawn_thread' “

1 个答案:

答案 0 :(得分:0)

Somleng的GETTING STARTED guide描述了如何开始使用docker和docker-compose。 docker-compose configuration file包含5项服务,Twilreapi(Twilio REST API的开源实施),Somleng-Adhearsion(为Somleng配置的Adhearsion应用程序),FreeSWITCH configuration(针对FreeSWITCH优化的配置文件) Somleng),Linphone(Linphone的码头图片 - 软电话)和CURL

GETTING STARTED guide中的说明向您展示如何通过REST API启动服务并进行测试调用。还有关于如何测试来电的说明。

使用Docker启动服务后,您应该能够设置RapidPro通道并将其指向REST API端点。