Asterisk connector

asterisk_click2dial
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/17.0/asterisk_click2dial
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Luis Rodriguez
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
The technical name of this module is **asterisk_click2dial**, but this
module implements much more than a simple *click2dial* ! This module
adds 3 functionalities:

1.  It adds a *Dial* button in the partner form view so that users can
    directly dial a phone number through Asterisk. This feature is
    usually known as *click2dial*. Here is how it works :

    - In Odoo, the user clicks on the *Dial* button next to a phone
      number field in the partner form view (or any form view with a
      phone number).
    - Odoo connects to the Asterisk Manager Interface and Asterisk makes
      the user's phone ring.
    - The user answers his own phone (if he doesn't, the process stops
      here).
    - Asterisk dials the phone number found in Odoo in place of the
      user.
    - If the remote party answers, the user can talk to his
      correspondent.

2.  It adds the ability to show the name of the calling party on the
    screen of your IP phone on incoming phone calls if the presented
    phone number is present in the partner/leads/employees/... of Odoo.
    Here is how it works:

    - On incoming phone calls, the Asterisk dialplan executes an AGI
      script **set_name_incoming_timeout.sh**.
    - The *set_name_incoming_timeout.sh* script calls the
      *set_name_agi.py* script with a short timeout.
    - The *set_name_agi.py* script will make an XML-RPC request on the
      Odoo server to try to find the name of the person corresponding to
      the phone number presented by the calling party.
    - If it finds the name, it is set as the CallerID name of the call,
      so as to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the
    callee on the SIP phone of the caller. For that, you should use the
    script *set_name_outgoing_timeout.sh*.

3.  It adds a phone icon (*Open Caller*) in the top menu bar to get the
    partner/lead/candidate/event registrations corresponding to the
    calling party in one click. Here is how it works :

    - When the user clicks on the phone icon, Odoo sends a query to the
      Asterisk Manager Interface to get a list of the current phone
      calls.
    - If it finds a phone call involving the user's phone, it gets the
      phone number of the calling party.
    - It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Event Registrations of Odoo. If a record
      matches, it takes you to the form view of this record. If no
      record matchs, it opens a wizard which proposes to create a new
      Partner with the presented phone number as *Phone* or *Mobile*
      number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the
    calling party without any action from the user via the module
    *base_phone_popup*.

A detailed documentation for this module is available on [this
page](http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector)
of Akretion's Web site.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (3)

New fields (12)
  • active Boolean
    default=True
  • alert_info Char
    help="Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='Alert-Info SIP Header'
  • company_id Many2one → res.company
    default=<expr> help='Company who uses the Asterisk server.' string='Company' args: 'res.company'
  • context Char
    help='Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Dialplan Context'
  • extension_priority Integer
    default=1 help='Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True
  • ip_address Char
    required=True string='Asterisk IP address or DNS'
  • login Char
    help='Login that Odoo will use to communicate with the Asterisk REST Interface. Refer to /etc/asterisk/ari.conf on your Asterisk server.' required=True string='ARI Login'
  • name Char
    required=True string='Asterisk Server Name'
  • out_prefix Char
    help="Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty." size=4
  • password Char
    help='Password that Odoo will use to communicate with the Asterisk REST Interface. Refer to /etc/asterisk/ari.conf on your Asterisk server.' required=True string='ARI Password'
  • port Integer
    default=8088 help='TCP port on which the Asterisk REST Interface listens. Defined in /etc/asterisk/ari.conf on Asterisk.' required=True
  • wait_time Integer
    default=15 help="Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up." required=True
Public methods (2)
  • get_record_from_my_channel(self)
    @api.model
  • test_ari_connection(self)

New fields (0)

No new fields.

Public methods (1)
  • click2dial(self, erp_number)
    @api.model

New fields (10)
  • alert_info Char
    help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='User-specific Alert-Info SIP Header'
  • asterisk_chan_name Char
    compute='_compute_asterisk_chan_name' store=True string='Asterisk Channel Name'
  • asterisk_chan_type Selection
    default='PJSIP' help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is probably 'PJSIP'." string='Asterisk Channel Type' args: [('PJSIP', 'PJSIP'), ('SIP', 'SIP'), ('IAX2', 'IAX2'), ('DAHDI', 'DAHDI'), ('Zap', 'Zap'), ('Skinny', 'Skinny'), ('MGCP', 'MGCP'), ('mISDN', 'mISDN'), ('H323', 'H323'), ('SCCP', 'SCCP')]
  • asterisk_server_id Many2one → asterisk.server
    help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company." string='Asterisk Server' args: 'asterisk.server'
  • callerid Char
    copy=False help='Caller ID used for the calls initiated by this user.' string='Caller ID'
  • cdraccount Char
    help='Call Detail Record (CDR) account used for billing this user.' string='CDR Account'
  • dial_suffix Char
    help='User-specific dial suffix such as aa=2wb for SCCP auto answer.' string='User-specific Dial Suffix'
  • internal_number Char
    copy=False help="User's internal phone number."
  • resource Char
    copy=False help="Resource name for the channel type selected. For example, if you use 'Dial(PJSIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always." string='Resource Name'
  • variable Char
    help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'." string='User-specific Variable'
Public methods (1)
  • get_asterisk_server_from_user(self)
    Returns an asterisk.server recordset
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/16.0/asterisk_click2dial
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, oca-ci, Luis Rodriguez
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:45
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (3)

New fields (12)
  • active Boolean
    default=True
  • alert_info Char
    help="Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='Alert-Info SIP Header'
  • company_id Many2one → res.company
    default=<expr> help='Company who uses the Asterisk server.' string='Company' args: 'res.company'
  • context Char
    help='Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Dialplan Context'
  • extension_priority Integer
    default=1 help='Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True
  • ip_address Char
    required=True string='Asterisk IP address or DNS'
  • login Char
    help='Login that Odoo will use to communicate with the Asterisk REST Interface. Refer to /etc/asterisk/ari.conf on your Asterisk server.' required=True string='ARI Login'
  • name Char
    required=True string='Asterisk Server Name'
  • out_prefix Char
    help="Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty." size=4
  • password Char
    help='Password that Odoo will use to communicate with the Asterisk REST Interface. Refer to /etc/asterisk/ari.conf on your Asterisk server.' required=True string='ARI Password'
  • port Integer
    default=8088 help='TCP port on which the Asterisk REST Interface listens. Defined in /etc/asterisk/ari.conf on Asterisk.' required=True
  • wait_time Integer
    default=15 help="Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up." required=True
Public methods (2)
  • get_record_from_my_channel(self)
    @api.model
  • test_ari_connection(self)

New fields (0)

No new fields.

Public methods (1)
  • click2dial(self, erp_number)
    @api.model

New fields (10)
  • alert_info Char
    help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='User-specific Alert-Info SIP Header'
  • asterisk_chan_name Char
    compute='_compute_asterisk_chan_name' store=True string='Asterisk Channel Name'
  • asterisk_chan_type Selection
    default='PJSIP' help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is probably 'PJSIP'." string='Asterisk Channel Type' args: [('PJSIP', 'PJSIP'), ('SIP', 'SIP'), ('IAX2', 'IAX2'), ('DAHDI', 'DAHDI'), ('Zap', 'Zap'), ('Skinny', 'Skinny'), ('MGCP', 'MGCP'), ('mISDN', 'mISDN'), ('H323', 'H323'), ('SCCP', 'SCCP')]
  • asterisk_server_id Many2one → asterisk.server
    help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company." string='Asterisk Server' args: 'asterisk.server'
  • callerid Char
    copy=False help='Caller ID used for the calls initiated by this user.' string='Caller ID'
  • cdraccount Char
    help='Call Detail Record (CDR) account used for billing this user.' string='CDR Account'
  • dial_suffix Char
    help='User-specific dial suffix such as aa=2wb for SCCP auto answer.' string='User-specific Dial Suffix'
  • internal_number Char
    copy=False help="User's internal phone number."
  • resource Char
    copy=False help="Resource name for the channel type selected. For example, if you use 'Dial(PJSIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always." string='Resource Name'
  • variable Char
    help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'." string='User-specific Variable'
Public methods (1)
  • get_asterisk_server_from_user(self)
    Returns an asterisk.server recordset
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/14.0/asterisk_click2dial
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Urvisha-OSI
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
_assets_primary_variables asterisk_click2dial assets ir.ui.view qweb Inherits web._assets_primary_variables
assets_backend mail assets ir.ui.view qweb Inherits web.assets_backend
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (3)

New fields (12)
  • active Boolean
    default=True string='Active'
  • alert_info Char
    help="Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='Alert-Info SIP Header'
  • company_id Many2one → res.company
    default=<expr> help='Company who uses the Asterisk server.' string='Company' args: 'res.company'
  • context Char
    help='Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Dialplan Context'
  • extension_priority Integer
    default=1 help='Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Extension Priority'
  • ip_address Char
    required=True string='Asterisk IP address or DNS'
  • login Char
    help='Login that Odoo will use to communicate with the Asterisk REST Interface. Refer to /etc/asterisk/ari.conf on your Asterisk server.' required=True string='ARI Login'
  • name Char
    required=True string='Asterisk Server Name'
  • out_prefix Char
    help="Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty." size=4 string='Out Prefix'
  • password Char
    help='Password that Odoo will use to communicate with the Asterisk REST Interface. Refer to /etc/asterisk/ari.conf on your Asterisk server.' required=True string='ARI Password'
  • port Integer
    default=5038 help='TCP port on which the Asterisk REST Interface listens. Defined in /etc/asterisk/ari.conf on Asterisk.' required=True string='Port'
  • wait_time Integer
    default=15 help="Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up." required=True string='Wait Time'
Public methods (2)
  • get_record_from_my_channel(self)
    @api.model
  • test_ari_connection(self)

New fields (0)

No new fields.

Public methods (1)
  • click2dial(self, erp_number)
    @api.model

New fields (10)
  • alert_info Char
    help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='User-specific Alert-Info SIP Header'
  • asterisk_chan_name Char
    compute='_compute_asterisk_chan_name' store=True string='Asterisk Channel Name'
  • asterisk_chan_type Selection
    default='PJSIP' help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is probably 'PJSIP'." string='Asterisk Channel Type' args: [('PJSIP', 'PJSIP'), ('SIP', 'SIP'), ('IAX2', 'IAX2'), ('DAHDI', 'DAHDI'), ('Zap', 'Zap'), ('Skinny', 'Skinny'), ('MGCP', 'MGCP'), ('mISDN', 'mISDN'), ('H323', 'H323'), ('SCCP', 'SCCP')]
  • asterisk_server_id Many2one → asterisk.server
    help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company." string='Asterisk Server' args: 'asterisk.server'
  • callerid Char
    copy=False help='Caller ID used for the calls initiated by this user.' string='Caller ID'
  • cdraccount Char
    help='Call Detail Record (CDR) account used for billing this user.' string='CDR Account'
  • dial_suffix Char
    help='User-specific dial suffix such as aa=2wb for SCCP auto answer.' string='User-specific Dial Suffix'
  • internal_number Char
    copy=False help="User's internal phone number." string='Internal Number'
  • resource Char
    copy=False help="Resource name for the channel type selected. For example, if you use 'Dial(PJSIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always." string='Resource Name'
  • variable Char
    help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'." string='User-specific Variable'
Public methods (1)
  • get_asterisk_server_from_user(self)
    Returns an asterisk.server recordset
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/12.0/asterisk_click2dial
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Maxime Chambreuil, OCA Transbot, Emanuel Cino, oca-travis, Weblate, OCA-git-bot, Dave Burkholder
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - phone_validation
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Asterisk
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Asterisk-Odoo connector
==========================

The technical name of this module is *asterisk_click2dial*, but this module
implements much more than a simple *click2dial* ! This module adds 3
functionalities:

1) It adds a *Dial* button in the partner form view so that users can directly
   dial a phone number through Asterisk. This feature is usually known as
   *click2dial*. Here is how it works :

    * In Odoo, the user clicks on the *Dial* button next to a phone number
      field in the partner view.

    * Odoo connects to the Asterisk Manager Interface and Asterisk makes the
      user's phone ring.

    * The user answers his own phone (if he doesn't, the process stops here).

    * Asterisk dials the phone number found in Odoo in place of the user.

    * If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner/leads/employees/... of Odoo. Here is how it works:

    * On incoming phone calls, the Asterisk dialplan executes an AGI script
      "set_name_incoming_timeout.sh".

    * The "set_name_incoming_timeout.sh" script calls the "set_name_agi.py"
      script with a short timeout.

    * The "set_name_agi.py" script will make an XML-RPC request on the Odoo
      server to try to find the name of the person corresponding to the phone
      number presented by the calling party.

    * If it finds the name, it is set as the CallerID name of the call, so as
      to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the callee on
    the SIP phone of the caller. For that, you should use the script
    "set_name_outgoing_timeout.sh".

3) It adds a phone icon (*Open Caller*) in the top menu bar
   (next to the Preferences) to get the partner/lead/candidate/registrations
   corresponding to the calling party in one click. Here is how it works :

    * When the user clicks on the phone icon, Odoo sends a query to the
      Asterisk Manager Interface to get a list of the current phone calls

    * If it finds a phone call involving the user's phone, it gets the phone
      number of the calling party

    * It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Registrations of Odoo. If a record matches,
      it takes you to the form view of this record. If no record matchs, it
      opens a wizard which proposes to create a new Partner with the presented
      phone number as *Phone* or *Mobile* number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the calling
    party without any action from the user via the module *base_phone_popup*.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
_assets_primary_variables asterisk_click2dial assets ir.ui.view qweb Inherits web._assets_primary_variables
assets_backend mail assets ir.ui.view qweb Inherits web.assets_backend
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (3)

New fields (12)
  • active Boolean
    default=True string='Active'
  • alert_info Char
    help="Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='Alert-Info SIP Header'
  • company_id Many2one → res.company
    default=<expr> help='Company who uses the Asterisk server.' string='Company' args: 'res.company'
  • context Char
    help='Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Dialplan Context'
  • extension_priority Integer
    default=1 help='Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Extension Priority'
  • ip_address Char
    required=True string='Asterisk IP address or DNS'
  • login Char
    help='Login that Odoo will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server.' required=True string='AMI Login'
  • name Char
    required=True string='Asterisk Server Name'
  • out_prefix Char
    help="Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty." size=4 string='Out Prefix'
  • password Char
    help='Password that Odoo will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server.' required=True string='AMI Password'
  • port Integer
    default=5038 help='TCP port on which the Asterisk Manager Interface listens. Defined in /etc/asterisk/manager.conf on Asterisk.' required=True string='Port'
  • wait_time Integer
    default=15 help="Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up." required=True string='Wait Time'
Public methods (2)
  • get_record_from_my_channel(self)
    @api.model
  • test_ami_connection(self)

New fields (0)

No new fields.

Public methods (1)
  • click2dial(self, erp_number)
    @api.model

New fields (9)
  • alert_info Char
    help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='User-specific Alert-Info SIP Header'
  • asterisk_chan_type Selection
    default='SIP' help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'." string='Asterisk Channel Type' args: [('SIP', 'SIP'), ('PJSIP', 'PJSIP'), ('IAX2', 'IAX2'), ('DAHDI', 'DAHDI'), ('Zap', 'Zap'), ('Skinny', 'Skinny'), ('MGCP', 'MGCP'), ('mISDN', 'mISDN'), ('H323', 'H323'), ('SCCP', 'SCCP')]
  • asterisk_server_id Many2one → asterisk.server
    help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company." string='Asterisk Server' args: 'asterisk.server'
  • callerid Char
    copy=False help='Caller ID used for the calls initiated by this user.' string='Caller ID'
  • cdraccount Char
    help='Call Detail Record (CDR) account used for billing this user.' string='CDR Account'
  • dial_suffix Char
    help='User-specific dial suffix such as aa=2wb for SCCP auto answer.' string='User-specific Dial Suffix'
  • internal_number Char
    copy=False help="User's internal phone number." string='Internal Number'
  • resource Char
    copy=False help="Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always." string='Resource Name'
  • variable Char
    help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'." string='User-specific Variable'
Public methods (1)
  • get_asterisk_server_from_user(self)
    Returns an asterisk.server recordset
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/11.0/asterisk_click2dial
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA Transbot, oca-travis, Weblate, hparfr
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - phone_validation
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Asterisk
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Asterisk-Odoo connector
==========================

The technical name of this module is *asterisk_click2dial*, but this module
implements much more than a simple *click2dial* ! This module adds 3
functionalities:

1) It adds a *Dial* button in the partner form view so that users can directly
   dial a phone number through Asterisk. This feature is usually known as
   *click2dial*. Here is how it works :

    * In Odoo, the user clicks on the *Dial* button next to a phone number
      field in the partner view.

    * Odoo connects to the Asterisk Manager Interface and Asterisk makes the
      user's phone ring.

    * The user answers his own phone (if he doesn't, the process stops here).

    * Asterisk dials the phone number found in Odoo in place of the user.

    * If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner/leads/employees/... of Odoo. Here is how it works:

    * On incoming phone calls, the Asterisk dialplan executes an AGI script
      "set_name_incoming_timeout.sh".

    * The "set_name_incoming_timeout.sh" script calls the "set_name_agi.py"
      script with a short timeout.

    * The "set_name_agi.py" script will make an XML-RPC request on the Odoo
      server to try to find the name of the person corresponding to the phone
      number presented by the calling party.

    * If it finds the name, it is set as the CallerID name of the call, so as
      to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the callee on
    the SIP phone of the caller. For that, you should use the script
    "set_name_outgoing_timeout.sh".

3) It adds a phone icon (*Open Caller*) in the top menu bar
   (next to the Preferences) to get the partner/lead/candidate/registrations
   corresponding to the calling party in one click. Here is how it works :

    * When the user clicks on the phone icon, Odoo sends a query to the
      Asterisk Manager Interface to get a list of the current phone calls

    * If it finds a phone call involving the user's phone, it gets the phone
      number of the calling party

    * It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Registrations of Odoo. If a record matches,
      it takes you to the form view of this record. If no record matchs, it
      opens a wizard which proposes to create a new Partner with the presented
      phone number as *Phone* or *Mobile* number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the calling
    party without any action from the user via the module *base_phone_popup*.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend asterisk_click2dial assets ir.ui.view qweb Inherits web.assets_backend
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (3)

New fields (12)
  • active Boolean
    default=True string='Active'
  • alert_info Char
    help="Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='Alert-Info SIP Header'
  • company_id Many2one → res.company
    default=<expr> help='Company who uses the Asterisk server.' string='Company' args: 'res.company'
  • context Char
    help='Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Dialplan Context'
  • extension_priority Integer
    default=1 help='Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server.' required=True string='Extension Priority'
  • ip_address Char
    required=True string='Asterisk IP address or DNS'
  • login Char
    help='Login that Odoo will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server.' required=True string='AMI Login'
  • name Char
    required=True string='Asterisk Server Name'
  • out_prefix Char
    help="Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty." size=4 string='Out Prefix'
  • password Char
    help='Password that Odoo will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server.' required=True string='AMI Password'
  • port Integer
    default=5038 help='TCP port on which the Asterisk Manager Interface listens. Defined in /etc/asterisk/manager.conf on Asterisk.' required=True string='Port'
  • wait_time Integer
    default=15 help="Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up." required=True string='Wait Time'
Public methods (2)
  • get_record_from_my_channel(self)
    @api.model
  • test_ami_connection(self)

New fields (0)

No new fields.

Public methods (1)
  • click2dial(self, erp_number)
    @api.model

New fields (9)
  • alert_info Char
    help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='User-specific Alert-Info SIP Header'
  • asterisk_chan_type Selection
    default='SIP' help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'." string='Asterisk Channel Type' args: [('SIP', 'SIP'), ('PJSIP', 'PJSIP'), ('IAX2', 'IAX2'), ('DAHDI', 'DAHDI'), ('Zap', 'Zap'), ('Skinny', 'Skinny'), ('MGCP', 'MGCP'), ('mISDN', 'mISDN'), ('H323', 'H323'), ('SCCP', 'SCCP')]
  • asterisk_server_id Many2one → asterisk.server
    help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company." string='Asterisk Server' args: 'asterisk.server'
  • callerid Char
    copy=False help='Caller ID used for the calls initiated by this user.' string='Caller ID'
  • cdraccount Char
    help='Call Detail Record (CDR) account used for billing this user.' string='CDR Account'
  • dial_suffix Char
    help='User-specific dial suffix such as aa=2wb for SCCP auto answer.' string='User-specific Dial Suffix'
  • internal_number Char
    copy=False help="User's internal phone number." string='Internal Number'
  • resource Char
    copy=False help="Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always." string='Resource Name'
  • variable Char
    help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'." string='User-specific Variable'
Public methods (1)
  • get_asterisk_server_from_user(self)
    Returns an asterisk.server recordset
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/10.0/asterisk_click2dial
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, GitHub, mreficent, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - base_setup
    - base
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Asterisk
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Asterisk-Odoo connector
==========================

The technical name of this module is *asterisk_click2dial*, but this module
implements much more than a simple *click2dial* ! This module adds 3
functionalities:

1) It adds a *Dial* button in the partner form view so that users can directly
   dial a phone number through Asterisk. This feature is usually known as
   *click2dial*. Here is how it works :

    * In Odoo, the user clicks on the *Dial* button next to a phone number
      field in the partner view.

    * Odoo connects to the Asterisk Manager Interface and Asterisk makes the
      user's phone ring.

    * The user answers his own phone (if he doesn't, the process stops here).

    * Asterisk dials the phone number found in Odoo in place of the user.

    * If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner/leads/employees/... of Odoo. Here is how it works:

    * On incoming phone calls, the Asterisk dialplan executes an AGI script
      "set_name_incoming_timeout.sh".

    * The "set_name_incoming_timeout.sh" script calls the "set_name_agi.py"
      script with a short timeout.

    * The "set_name_agi.py" script will make an XML-RPC request on the Odoo
      server to try to find the name of the person corresponding to the phone
      number presented by the calling party.

    * If it finds the name, it is set as the CallerID name of the call, so as
      to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the callee on
    the SIP phone of the caller. For that, you should use the script
    "set_name_outgoing_timeout.sh".

3) It adds a phone icon (*Open Caller*) in the top menu bar
   (next to the Preferences) to get the partner/lead/candidate/registrations
   corresponding to the calling party in one click. Here is how it works :

    * When the user clicks on the phone icon, Odoo sends a query to the
      Asterisk Manager Interface to get a list of the current phone calls

    * If it finds a phone call involving the user's phone, it gets the phone
      number of the calling party

    * It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Registrations of Odoo. If a record matches,
      it takes you to the form view of this record. If no record matchs, it
      opens a wizard which proposes to create a new Partner with the presented
      phone number as *Phone* or *Mobile* number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the calling
    party without any action from the user via the module *base_phone_popup*.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend asterisk_click2dial assets ir.ui.view qweb Inherits web.assets_backend
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (1)

New fields (9)
  • alert_info Char
    help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example." string='User-specific Alert-Info SIP Header'
  • asterisk_chan_type Selection
    default='SIP' help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'." string='Asterisk Channel Type' args: [('SIP', 'SIP'), ('PJSIP', 'PJSIP'), ('IAX2', 'IAX2'), ('DAHDI', 'DAHDI'), ('Zap', 'Zap'), ('Skinny', 'Skinny'), ('MGCP', 'MGCP'), ('mISDN', 'mISDN'), ('H323', 'H323'), ('SCCP', 'SCCP')]
  • asterisk_server_id Many2one → asterisk.server
    help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company." string='Asterisk Server' args: 'asterisk.server'
  • callerid Char
    copy=False help='Caller ID used for the calls initiated by this user.' string='Caller ID'
  • cdraccount Char
    help='Call Detail Record (CDR) account used for billing this user.' string='CDR Account'
  • dial_suffix Char
    help='User-specific dial suffix such as aa=2wb for SCCP auto answer.' string='User-specific Dial Suffix'
  • internal_number Char
    copy=False help="User's internal phone number." string='Internal Number'
  • resource Char
    copy=False help="Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always." string='Resource Name'
  • variable Char
    help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'." string='User-specific Variable'
Public methods (1)
  • get_asterisk_server_from_user(self)
    @api.multi
    Returns an asterisk.server recordset
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/9.0/asterisk_click2dial
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Дмитро Катюха
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Asterisk
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Asterisk-Odoo connector
==========================

The technical name of this module is *asterisk_click2dial*, but this module
implements much more than a simple *click2dial* ! This module adds 3
functionalities:

1) It adds a *Dial* button in the partner form view so that users can directly
   dial a phone number through Asterisk. This feature is usually known as
   *click2dial*. Here is how it works :

    * In Odoo, the user clicks on the *Dial* button next to a phone number
      field in the partner view.

    * Odoo connects to the Asterisk Manager Interface and Asterisk makes the
      user's phone ring.

    * The user answers his own phone (if he doesn't, the process stops here).

    * Asterisk dials the phone number found in Odoo in place of the user.

    * If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner/leads/employees/... of Odoo. Here is how it works:

    * On incoming phone calls, the Asterisk dialplan executes an AGI script
      "set_name_incoming_timeout.sh".

    * The "set_name_incoming_timeout.sh" script calls the "set_name_agi.py"
      script with a short timeout.

    * The "set_name_agi.py" script will make an XML-RPC request on the Odoo
      server to try to find the name of the person corresponding to the phone
      number presented by the calling party.

    * If it finds the name, it is set as the CallerID name of the call, so as
      to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the callee on
    the SIP phone of the caller. For that, you should use the script
    "set_name_outgoing_timeout.sh".

3) It adds a phone icon (*Open Caller*) in the top menu bar
   (next to the Preferences) to get the partner/lead/candidate/registrations
   corresponding to the calling party in one click. Here is how it works :

    * When the user clicks on the phone icon, Odoo sends a query to the
      Asterisk Manager Interface to get a list of the current phone calls

    * If it finds a phone call involving the user's phone, it gets the phone
      number of the calling party

    * It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Registrations of Odoo. If a record matches,
      it takes you to the form view of this record. If no record matchs, it
      opens a wizard which proposes to create a new Partner with the presented
      phone number as *Phone* or *Mobile* number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the calling
    party without any action from the user via the module *base_phone_popup*.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend asterisk_click2dial assets ir.ui.view qweb Inherits web.assets_backend
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
view_users_form_simple_modif asterisk_click2dial.users.preferences.form res.users group Inherits base_phone.view_users_form_simple_modif
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/8.0/asterisk_click2dial
VERSION
VERSION 0.4.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStéphane Bidoul, Alexis de Lattre, Yannick Vaucher, Alexandre Fayolle, Sandy Carter, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, Damien Crier, oca-travis, Weblate, Andhitia Rama, Igor, Valentin Lab
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Asterisk
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Asterisk-OpenERP connector
==========================

The technical name of this module is *asterisk_click2dial*, but this module
implements much more than a simple *click2dial* ! This module adds 3
functionalities:

1) It adds a *Dial* button in the partner form view so that users can directly
   dial a phone number through Asterisk. This feature is usually known as
   *click2dial*. Here is how it works :

    * In OpenERP, the user clicks on the *Dial* button next to a phone number
      field in the partner view.

    * OpenERP connects to the Asterisk Manager Interface and Asterisk makes the
      user's phone ring.

    * The user answers his own phone (if he doesn't, the process stops here).

    * Asterisk dials the phone number found in OpenERP in place of the user.

    * If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner/leads/employees/... of OpenERP. Here is how it works:

    * On incoming phone calls, the Asterisk dialplan executes an AGI script
      "set_name_incoming_timeout.sh".

    * The "set_name_incoming_timeout.sh" script calls the "set_name_agi.py"
      script with a short timeout.

    * The "set_name_agi.py" script will make an XML-RPC request on the OpenERP
      server to try to find the name of the person corresponding to the phone
      number presented by the calling party.

    * If it finds the name, it is set as the CallerID name of the call, so as
      to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the callee on
    the SIP phone of the caller. For that, you should use the script
    "set_name_outgoing_timeout.sh".

3) It adds a phone icon (*Open Caller*) in the top menu bar
   (next to the Preferences) to get the partner/lead/candidate/registrations
   corresponding to the calling party in one click. Here is how it works :

    * When the user clicks on the phone icon, OpenERP sends a query to the
      Asterisk Manager Interface to get a list of the current phone calls

    * If it finds a phone call involving the user's phone, it gets the phone
      number of the calling party

    * It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Registrations of OpenERP. If a record matches,
      it takes you to the form view of this record. If no record matchs, it
      opens a wizard which proposes to create a new Partner with the presented
      phone number as *Phone* or *Mobile* number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the calling
    party without any action from the user via the module *base_phone_popup*.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
assets_backend asterisk_click2dial assets ir.ui.view qweb Inherits web.assets_backend
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/7.0/asterisk_click2dial
VERSION
VERSION 0.4
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Alexandre Fayolle, Sandy Carter, Pedro M. Baeza, Invitu, Rudolf Schnapka
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector-telephony:
    - base_phone
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Asterisk
phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Asterisk-OpenERP connector
==========================

The technical name of this module is *asterisk_click2dial*, but this module
implements much more than a simple *click2dial* ! This module adds 3
functionalities:

1) It adds a *Dial* button in the partner form view so that users can directly
   dial a phone number through Asterisk. This feature is usually known as
   *click2dial*. Here is how it works :

    * In OpenERP, the user clicks on the *Dial* button next to a phone number
      field in the partner view.

    * OpenERP connects to the Asterisk Manager Interface and Asterisk makes the
      user's phone ring.

    * The user answers his own phone (if he doesn't, the process stops here).

    * Asterisk dials the phone number found in OpenERP in place of the user.

    * If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner/leads/employees/... of OpenERP. Here is how it works:

    * On incoming phone calls, the Asterisk dialplan executes an AGI script
      "set_name_incoming_timeout.sh".

    * The "set_name_incoming_timeout.sh" script calls the "set_name_agi.py"
      script with a short timeout.

    * The "set_name_agi.py" script will make an XML-RPC request on the OpenERP
      server to try to find the name of the person corresponding to the phone
      number presented by the calling party.

    * If it finds the name, it is set as the CallerID name of the call, so as
      to be presented on the IP phone of the user.

    It also works on outgoing calls, so as to display the name of the callee on
    the SIP phone of the caller. For that, you should use the script
    "set_name_outgoing_timeout.sh".

3) It adds a phone icon (*Open Caller*) in the top menu bar
   (next to the Preferences) to get the partner/lead/candidate/registrations
   corresponding to the calling party in one click. Here is how it works :

    * When the user clicks on the phone icon, OpenERP sends a query to the
      Asterisk Manager Interface to get a list of the current phone calls

    * If it finds a phone call involving the user's phone, it gets the phone
      number of the calling party

    * It searches the phone number of the calling party in the
      Partners/Leads/Candidates/Registrations of OpenERP. If a record matches,
      it takes you to the form view of this record. If no record matchs, it
      opens a wizard which proposes to create a new Partner with the presented
      phone number as *Phone* or *Mobile* number or update an existing Partner.

    It is possible to get a pop-up of the record corresponding to the calling
    party without any action from the user via the module *base_phone_popup*.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_search asterisk.server.search asterisk.server search New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_users_form asterisk_click2dial.res.users.form res.users page Inherits base_phone.view_users_form
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/6.1/asterisk_click2dial
VERSION
VERSION 0.4
CATEGORY
CATEGORYExtra Tools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Alexandre Fayolle, Sandy Carter
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds 3 functionnalities :

1) It adds a 'dial' button in the partner address form view so that users can
   directly dial a phone number through Asterisk. This feature is usually known
   as 'click2dial'. Here is how it works :
. In OpenERP, the user clicks on the 'dial' button next to a phone number field
  in the partner address view.
. OpenERP connects to the Asterisk Manager Interface and Asterisk makes the
  user's phone ring.
. The user answers his own phone (if he doesn't, the process stops here).
. Asterisk dials the phone number found in OpenERP in place of the user.
. If the remote party answers, the user can talk to his correspondent.

2) It adds the ability to show the name of the calling party on the screen of
   your IP phone on incoming phone calls if the presented phone number is
   present in the partner addresses of OpenERP. Here is how it works :
. On incoming phone calls, the Asterisk dialplan executes an AGI script
  "get_cid_name_timeout.sh".
. The "get_cid_name_timeout.sh" script calls the "get_cid_name.py" script with
  a short timeout.
. The "get_cid_name.py" script will make an XML-RPC request on the OpenERP
  server to try to find the name of the person corresponding to the phone
  number presented by the calling party.
. If it finds the name, it is set as the CallerID name of the call, so as to be
  presented on the IP phone of the user.

3) It adds a button "Open calling partner" in the menu "Sales > Address book"
   to get the partner corresponding to the calling party in one click.
   Here is how it works :
. When the user clicks on the "Open calling partner" button, OpenERP sends a
  query to the Asterisk Manager Interface to get a list of the current phone
  calls
. If it finds a phone call involving the user's phone, it gets the phone number
  of the calling party
. It searches the phone number of the calling party in the Partner addresses of
  OpenERP. If a record matches, it shows the name of the related Partner and
  proposes to open it, or open its related sale orders or invoices. If no
  record matches, it proposes to create a new Contact with the presented phone
  number as 'Phone' or 'Mobile' number or update an existing Contact.

A detailed documentation for this module is available on the Akretion Web site:
http://www.akretion.com/products-and-services/openerp-asterisk-voip-connector

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
asterisk_res_partner_address_dial1 asterisk.res.partner.address.dial1 res.partner.address data Inherits base.view_partner_address_form1
asterisk_res_partner_address_dial2 asterisk.res.partner.address.dial2 res.partner.address data Inherits base.view_partner_address_form2
asterisk_res_partner_dial asterisk.res.partner.dial res.partner data Inherits base.view_partner_form
asterisk_res_users_internal_number asterisk.res.users.telephony_tab res.users page Inherits base.view_users_form
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
view_asterisk_server_company_form asterisk.server.company res.company notebook Inherits base.view_company_form
view_asterisk_server_form asterisk.server.form asterisk.server form New
view_asterisk_server_tree asterisk.server.tree asterisk.server tree New
view_open_calling_partner view_open_calling_partner wizard.open.calling.partner form New
Models touched (0)

No models found for this module.