You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
4.9 KiB

  1. .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
  2. :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
  3. :alt: License: AGPL-3
  4. =====================
  5. FreeSWITCH Click2Dial
  6. =====================
  7. The technical name of this module is *freeswitch_click2dial*, but this module
  8. implements much more than a simple *click2dial* ! This module adds 3
  9. functionalities:
  10. 1) It adds a *Dial* button in the partner form view so that users can directly
  11. dial a phone number through FreeSWITCH. This feature is usually known as
  12. *click2dial*. Here is how it works :
  13. * In Odoo, the user clicks on the *Dial* button next to a phone number
  14. field in the partner view.
  15. * Odoo connects to the FreeSWITCH Event Socket and FreeSWITCH makes the
  16. user's phone ring.
  17. * The user answers his own phone (if he doesn't, the process stops here).
  18. * FreeSWITCH dials the phone number found in Odoo in place of the user.
  19. * If the remote party answers, the user can talk to his correspondent.
  20. 2) It adds the ability to show the name of the calling party on the screen of
  21. your IP phone on incoming phone calls if the presented phone number is
  22. present in the partner/leads/employees/... of Odoo. To understand how to
  23. use this, please see get_caller_name.py, which should be installed per the
  24. instructions in the script on the Odoo/Odoo server. This works for
  25. incoming and outgoing calls, per instructions in the script.
  26. 3) It adds a phone icon (*Open Caller*) in the top menu bar
  27. (next to the Preferences) to get the partner/lead/candidate/registrations
  28. corresponding to the calling party in one click. Here is how it works :
  29. * When the user clicks on the phone icon, Odoo sends a query to the
  30. FreeSWITCH Manager Interface to get a list of the current phone calls
  31. * If it finds a phone call involving the user's phone, it gets the phone
  32. number of the calling party
  33. * It searches the phone number of the calling party in the
  34. Partners/Leads/Candidates/Registrations of Odoo. If a record matches,
  35. it takes you to the form view of this record. If no record matchs, it
  36. opens a wizard which proposes to create a new Partner with the presented
  37. phone number as *Phone* or *Mobile* number or update an existing Partner.
  38. It is possible to get a pop-up of the record corresponding to the calling
  39. party without any action from the user via the module *base_phone_popup*.
  40. Installation
  41. ============
  42. To install this module, you need to:
  43. * Click on the module and install it
  44. Additionally, you will need the FreeSWITCH ESL python module. The easiest way is
  45. pip install FreeSWITCH-ESL-Python. Otherwise, you will find it under
  46. ${FREESWITCH_SRC_TOP_DIR}/libs/esl/python. Go to
  47. ${FREESWITCH_SRC_TOP_DIR}/libs/esl. Type make. Then make pymod. You will then
  48. need to install ${FREESWITCH_SRC_TOP_DIR}/libs/esl/python/ESL.py and
  49. ${FREESWITCH_SRC_TOP_DIR}/libs/esl/python/_ESL.so into the appropriate places
  50. on your Odoo/Odoo server.
  51. (https://wiki.freeswitch.org/wiki/Event_Socket_Library#Installation for more
  52. information.) An alternative method would involve
  53. https://github.com/gurteshwar/freeswitch-esl-python.
  54. Configuration
  55. =============
  56. To configure this module, you need to:
  57. * Settings > Technical > FreeSWITCH Servers
  58. * Setup you server
  59. * Configure users under Settings > Users > $USER > Telphony tab
  60. Usage
  61. =====
  62. To use this module, you need to:
  63. * See scripts/get_caller_name.py to see how to set caller and callee name
  64. * Click on Dial next to any phone number covered by associated modules
  65. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
  66. :alt: Try me on Runbot
  67. :target: https://runbot.odoo-community.org/runbot/{repo_id}/{branch}
  68. .. repo_id is available in https://github.com/OCA/maintainer-tools/blob/master/tools/repos_with_ids.txt
  69. .. branch is "8.0" for example
  70. Known issues / Roadmap
  71. ======================
  72. * None
  73. Bug Tracker
  74. ===========
  75. Bugs are tracked on `GitHub Issues <https://github.com/OCA/
  76. {project_repo}/issues>`_.
  77. In case of trouble, please check there if your issue has already been reported.
  78. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback `here <https://github.com/OCA/
  79. {project_repo}/issues/new?body=module:%20
  80. {module_name}%0Aversion:%20
  81. {version}%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
  82. Credits
  83. =======
  84. Contributors
  85. ------------
  86. * Firstname Lastname <email.address@example.org>
  87. * Second Person <second.person@example.org>
  88. Maintainer
  89. ----------
  90. .. image:: https://odoo-community.org/logo.png
  91. :alt: Odoo Community Association
  92. :target: https://odoo-community.org
  93. This module is maintained by the OCA.
  94. OCA, or the Odoo Community Association, is a nonprofit organization whose
  95. mission is to support the collaborative development of Odoo features and
  96. promote its widespread use.
  97. To contribute to this module, please visit http://odoo-community.org.