{"id":34926057,"url":"https://github.com/codelation/fonelator","last_synced_at":"2026-05-23T15:31:23.091Z","repository":{"id":14289941,"uuid":"16998218","full_name":"codelation/fonelator","owner":"codelation","description":"Add Twilio webhooks to your Rails app.","archived":false,"fork":false,"pushed_at":"2014-03-01T15:19:22.000Z","size":424,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-03-26T23:38:46.212Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codelation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-19T20:44:47.000Z","updated_at":"2024-03-26T23:38:46.212Z","dependencies_parsed_at":"2022-09-11T02:51:22.752Z","dependency_job_id":null,"html_url":"https://github.com/codelation/fonelator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codelation/fonelator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelation%2Ffonelator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelation%2Ffonelator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelation%2Ffonelator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelation%2Ffonelator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codelation","download_url":"https://codeload.github.com/codelation/fonelator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelation%2Ffonelator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33402163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2025-12-26T14:31:33.461Z","updated_at":"2026-05-23T15:31:23.086Z","avatar_url":"https://github.com/codelation.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fonelator\n\n[![Code Climate](https://codeclimate.com/github/codelation/fonelator.png)](https://codeclimate.com/github/codelation/fonelator)\n\nFonelator is a mountable `Rails::Engine` that adds webhooks for \nincoming and outgoing calls with [Twilio](https://www.twilio.com). It is a **BYOU**(bring your own user) engine that allows users to add numbers at which they would like to be available and tag those numbers with extensions, so one extension can dial multiple numbers. This is great for having extensions for things like \"sales\", \"engineering\", and \"support\" where a number of individuals could pick up depending on who's free.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem \"fonelator\", github: \"codelation/fonelator\"\n```\n\nInstall Fonelator's neccessary migrations:\n\n```bash\n$ rake fonelator:install:migrations\n$ rake db:migrate\n```\n\nMount the engine in your Rails app:\n\n```ruby\nMyApp::Application.routes.draw do\n  # ...\n  mount Fonelator::Engine, at: \"/fonelator\"\n  # ...\nend\n```\n\n## Configuration\n\nCreate `config/initializers/fonelator.rb`:\n\n```ruby\nFonelator::Config.default_country_code      = 1\nFonelator::Config.default_area_code         = 701\nFonelator::Config.default_forwarding_number = \"Default forwarding number\"\nFonelator::Config.default_forwarding_sip    = \"Default forwarding SIP\"\nFonelator::Config.twilio_auth_token         = \"Twilio Auth Token\"\nFonelator::Config.twilio_account_sid        = \"Twilio Account SID\"\nFonelator::Config.twilio_number             = \"Twilio phone number\"\nFonelator::Config.user_class                = \"User\"\n```\n\nAdd the incoming voice webhook to your Twilio number:\n\n\u003e https://myapp.herokuapp.com/fonelator/webhooks/twilio_voice_in\n\nAdd the outgoing voice webhook to your Twilio SIP Domain:\n\n\u003e https://myapp.herokuapp.com/fonelator/webhooks/twilio_voice_out\n\n## Routes\n\nThe following routes are added to the host application:\n\n```bash\ntwilio_dial_phones_webhooks POST   /webhooks/twilio_dial_phones(.:format) fonelator/webhooks#twilio_dial_phones\n     twilio_sms_in_webhooks POST   /webhooks/twilio_sms_in(.:format)      fonelator/webhooks#twilio_sms_in\n    twilio_sms_out_webhooks POST   /webhooks/twilio_sms_out(.:format)     fonelator/webhooks#twilio_sms_out\n   twilio_voice_in_webhooks POST   /webhooks/twilio_voice_in(.:format)    fonelator/webhooks#twilio_voice_in\n  twilio_voice_out_webhooks POST   /webhooks/twilio_voice_out(.:format)   fonelator/webhooks#twilio_voice_out\n                   webhooks GET    /webhooks(.:format)                    fonelator/webhooks#index\n                            POST   /webhooks(.:format)                    fonelator/webhooks#create\n                new_webhook GET    /webhooks/new(.:format)                fonelator/webhooks#new\n               edit_webhook GET    /webhooks/:id/edit(.:format)           fonelator/webhooks#edit\n                    webhook GET    /webhooks/:id(.:format)                fonelator/webhooks#show\n                            PATCH  /webhooks/:id(.:format)                fonelator/webhooks#update\n                            PUT    /webhooks/:id(.:format)                fonelator/webhooks#update\n                            DELETE /webhooks/:id(.:format)                fonelator/webhooks#destroy\n                 extensions GET    /extensions(.:format)                  fonelator/extensions#index\n                            POST   /extensions(.:format)                  fonelator/extensions#create\n              new_extension GET    /extensions/new(.:format)              fonelator/extensions#new\n             edit_extension GET    /extensions/:id/edit(.:format)         fonelator/extensions#edit\n                  extension GET    /extensions/:id(.:format)              fonelator/extensions#show\n                            PATCH  /extensions/:id(.:format)              fonelator/extensions#update\n                            PUT    /extensions/:id(.:format)              fonelator/extensions#update\n                            DELETE /extensions/:id(.:format)              fonelator/extensions#destroy\n                     phones GET    /phones(.:format)                      fonelator/phones#index\n                            POST   /phones(.:format)                      fonelator/phones#create\n                  new_phone GET    /phones/new(.:format)                  fonelator/phones#new\n                 edit_phone GET    /phones/:id/edit(.:format)             fonelator/phones#edit\n                      phone GET    /phones/:id(.:format)                  fonelator/phones#show\n                            PATCH  /phones/:id(.:format)                  fonelator/phones#update\n                            PUT    /phones/:id(.:format)                  fonelator/phones#update\n                            DELETE /phones/:id(.:format)                  fonelator/phones#destroy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelation%2Ffonelator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelation%2Ffonelator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelation%2Ffonelator/lists"}