{"id":22615748,"url":"https://github.com/respoke/chan_respoke","last_synced_at":"2025-10-18T09:59:42.306Z","repository":{"id":22035470,"uuid":"25363696","full_name":"respoke/chan_respoke","owner":"respoke","description":"Asterisk Channel Driver for Respoke","archived":false,"fork":false,"pushed_at":"2018-02-21T18:30:32.000Z","size":724,"stargazers_count":14,"open_issues_count":1,"forks_count":10,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-25T08:38:15.529Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/respoke.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-17T15:11:01.000Z","updated_at":"2024-09-09T14:37:48.000Z","dependencies_parsed_at":"2022-08-20T18:40:54.980Z","dependency_job_id":null,"html_url":"https://github.com/respoke/chan_respoke","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respoke%2Fchan_respoke","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respoke%2Fchan_respoke/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respoke%2Fchan_respoke/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respoke%2Fchan_respoke/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/respoke","download_url":"https://codeload.github.com/respoke/chan_respoke/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248398540,"owners_count":21097292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-08T19:09:18.791Z","updated_at":"2025-10-18T09:59:42.227Z","avatar_url":"https://github.com/respoke.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\n\nThe Respoke Modules for Asterisk (RMA) is a collection of libraries that provide\nthe necessary tools in order to allow communication between Asterisk and the\nRespoke service.\n\n## Licensing\n\nThe Respoke Modules for Asterisk (RMA) is distributed under the GNU General\nPublic License version 2. The GPL (version 2) is included in this source tree\nin the file COPYING.\n\n## Modules\n\nThe RMA is made up of several installable modules which can be found under a\ndirectory structure similar to Asterisk.  For instance, the channel driver is\nfound under the 'channels' directory and the resource modules (res_respoke)\nare contained in the 'res' directory.\n\n## Dependencies\n\nThe following programs and/or libaries need to be installed before compiling\nand installing the RMA:\n\n- libcurl\n- [pjproject][]\n- Asterisk (\u003e= version 13.0.0)\n  - Required modules: `res_rtp_asterisk`\n\n [pjproject]: https://wiki.asterisk.org/wiki/x/J4GLAQ\n\n### Certified Asterisk\n\nAsterisk versions prior to 13.2.0, including 13.1-cert2, have a [DTLS issue][]\nwhen connecting to Respoke, caused by a security patch in OpenSSL 1.0.1k. Please\nupgrade to a newer version of Asterisk, or apply [this patch][] to correct the\nissue with DTLS.\n\n [DTLS issue]: https://issues.asterisk.org/jira/browse/ASTERISK-24711\n [this patch]: https://code.asterisk.org/code/rdiff/asterisk?csid=e0461290d0c35e643070c8ed98f4b7e95345a708\u0026u\u0026N\n\n### PJSIP configuration\n\nWebRTC endpoints may offer more ICE candidates than PJSIP's default limits.\nThese can be configured when PJSIP is compiled, and Asterisk must be recompiled\nwhen they are changed.\n\nWhen building PJSIP from source, immediately after running `./configure`, create\nthe file `pjlib/include/pj/config_site.h` with the following contents. The\nactual values for `PJ_ICE_MAX_CAND` and `PJ_ICE_MAX_CHECKS` may vary depending\non your use case, but these are some good defaults for WebRTC.\n\n```c\n#ifndef __PJ_CONFIG_SITE_H__\n#define __PJ_CONFIG_SITE_H__\n\n/* Defaults too low for WebRTC */\n#define PJ_ICE_MAX_CAND 32\n#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * 2)\n\n#endif /* __PJ_CONFIG_SITE_H__ */\n```\n\n## Building and Installing\n\nIn order to build the RMA without errors the necessary dependencies need to be\ninstalled prior to compiling.  Once the dependencies have been installed, run\nthe following within the projects top level directory from the command line:\n\n    make\n\nNote, that if Asterisk has been installed to a non default directory (e.g. it\nhas not been installed under '/usr') then the following flag can be set in order\nto specify the asterisk install directory:\n\n    make AST_INSTALL_DIR=/path/to/asterisk/install\n\nIf all the modules built successfully, issue the following to install the RMA:\n\n    make install\n\n## Configuration\n\nA 'respoke.conf' configuration file also needs to be constructed and saved to\nthe Asterisk installation configuration directory (typically /etc/asterisk/).\nThe respoke configuration file follows the same rules and similar patterns to\nthat of a typical Asterisk configuration file.  See the 'respoke.conf.sample'\nfile for more information.\n\n### DTLS Certificate\n\nThe usual Asterisk script for generating a certificate (`ast_tls_cert`)\ngenerates a certificate chain, which can cause DTLS packets to be larger than\nthe typical MTU. This fragmentation can cause data loss in some networks.\n\nIt is recommended to install a small self-signed certificate instead. This can\nbe done by `make install-keys`, which creates `/etc/asterisk/keys/respoke.pem`.\n\n## Example\n\nA basic example configuration and setup can be found under the \"example\"\ndirectory. To install the example execute the following command (Note, that\nthis will overwrite any \"respoke.conf\" and \"extensions.conf\" files currently\nresiding under the Asterisk install directory. Be sure to back up any files\nbefore proceeding):\n\n    make install-example\n\nThis installs an example respoke configuration along with a simple dialplan as\nwell as some sounds files used for playback. An example certificate authority\nand client certificate are also installed in order to facilitate audio between\nendpoints (*WARNING* - These files are for example use only and should not be\nused in a production environment).\n\nOnce installed, edit the \"respoke.conf\" file and set the \"app_id\" option under\nthe \"app\" section to a valid respoke app-id. After starting Asterisk, and\nsending an offer/call via Respoke from a properly constructed application to\none of the configured endpoints (basic or mixdown) the appropriate audio should\nbe heard and the call hung up.\n\nTo uninstall all files associated with the example issue the following command:\n\n    make uninstall-example\n\n## Building for Distribution\n\nTo build a tar to attach to the github release, run `make dist`. Note: using\nthe Makefile checks for Asterisk to be installed on the system. If you don't\nhave Asterisk on your system but still need to cut a new release, you can\nrun `./build_tools/make_version \u0026\u0026 ./build_tools/make_dist` to generate the\ntar with the appropriate .version file in it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frespoke%2Fchan_respoke","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frespoke%2Fchan_respoke","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frespoke%2Fchan_respoke/lists"}