Browse Source

Initial port of FreeSWITCH functionality to Odoo 9.

pull/96/head
Trever L. Adams 8 years ago
parent
commit
1159a8ea2b
  1. 2
      .travis.yml
  2. 3
      README.md
  3. 24
      base_phone_popup/popup.py
  4. 138
      freeswitch_click2dial/README.rst
  5. 4
      freeswitch_click2dial/__init__.py
  6. 28
      freeswitch_click2dial/__openerp__.py
  7. 18
      freeswitch_click2dial/controller.py
  8. 401
      freeswitch_click2dial/freeswitch_click2dial.py
  9. 39
      freeswitch_click2dial/freeswitch_click2dial_demo.xml
  10. 85
      freeswitch_click2dial/freeswitch_server_view.xml
  11. 411
      freeswitch_click2dial/i18n/bg.po
  12. 615
      freeswitch_click2dial/i18n/de.po
  13. 449
      freeswitch_click2dial/i18n/es.po
  14. 530
      freeswitch_click2dial/i18n/fr.po
  15. 528
      freeswitch_click2dial/i18n/freeswitch_click2dial.pot
  16. 410
      freeswitch_click2dial/i18n/hr.po
  17. 421
      freeswitch_click2dial/i18n/pt_BR.po
  18. 1
      freeswitch_click2dial/requirements.txt
  19. 51
      freeswitch_click2dial/res_users_view.xml
  20. 275
      freeswitch_click2dial/scripts/get_caller_name.py
  21. 3
      freeswitch_click2dial/security/ir.model.access.csv
  22. BIN
      freeswitch_click2dial/static/description/icon.png
  23. 26
      freeswitch_click2dial/static/src/css/freeswitch_click2dial.css
  24. 96
      freeswitch_click2dial/static/src/js/freeswitch_click2dial.js
  25. 24
      freeswitch_click2dial/static/src/xml/freeswitch_click2dial.xml
  26. 19
      freeswitch_click2dial/web_freeswitch_click2dial.xml
  27. 1
      setup/freeswitch_click2dial/odoo_addons/__init__.py
  28. 1
      setup/freeswitch_click2dial/odoo_addons/freeswitch_click2dial
  29. 6
      setup/freeswitch_click2dial/setup.py

2
.travis.yml

@ -31,7 +31,7 @@ install:
- git clone https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools - git clone https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH} - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly - travis_install_nightly
- pip install phonenumbers py-Asterisk SOAPpy
- pip install phonenumbers py-Asterisk SOAPpy FreeSWITCH-ESL-Python
- hg clone http://bitbucket.org/anybox/web_action_request -b ${VERSION} ${HOME}/web_action_request - hg clone http://bitbucket.org/anybox/web_action_request -b ${VERSION} ${HOME}/web_action_request
- if [ -d /home/travis/${ODOO_REPO##*/}-${VERSION}/addons ]; then ln -s ${HOME}/web_action_request/web_action_request /home/travis/${ODOO_REPO##*/}-${VERSION}/addons; fi - if [ -d /home/travis/${ODOO_REPO##*/}-${VERSION}/addons ]; then ln -s ${HOME}/web_action_request/web_action_request /home/travis/${ODOO_REPO##*/}-${VERSION}/addons; fi
- hg clone http://bitbucket.org/anybox/bus_enhanced -b ${VERSION} ${HOME}/bus_enhanced - hg clone http://bitbucket.org/anybox/bus_enhanced -b ${VERSION} ${HOME}/bus_enhanced

3
README.md

@ -3,7 +3,7 @@
# Odoo telephony connector # Odoo telephony connector
This projets aims at connecting Odoo to different phone systems. Phone systems currently supported are Asterisk (an OpenSource IPBX, cf [asterisk.org](http://www.asterisk.org/) and OVH (the centrex offer of OVH, cf the [OVH website](http://www.ovhtelecom.fr/telephonie/)).
This projets aims at connecting Odoo to different phone systems. Phone systems currently supported are Asterisk (an OpenSource IPBX, cf [asterisk.org](http://www.asterisk.org/), OVH (the centrex offer of OVH, cf the [OVH website](http://www.ovhtelecom.fr/telephonie/)) and FreeSWITCH (cross-platform multi-protocol soft switch, cf [FreeSWITCH.org](http://freeswitch.org)).
This project provides: This project provides:
* a serie of modules (base\_phone, base\_phone\_popup, * a serie of modules (base\_phone, base\_phone\_popup,
@ -30,6 +30,7 @@ addon | version | summary
[base_phone_popup](base_phone_popup/) | 9.0.1.0.0 | Pop-up the related form view to the user on incoming calls [base_phone_popup](base_phone_popup/) | 9.0.1.0.0 | Pop-up the related form view to the user on incoming calls
[crm_phone](crm_phone/) | 9.0.1.0.0 | Validate phone numbers in CRM [crm_phone](crm_phone/) | 9.0.1.0.0 | Validate phone numbers in CRM
[event_phone](event_phone/) | 9.0.1.0.0 | Validate phone numbers in Events [event_phone](event_phone/) | 9.0.1.0.0 | Validate phone numbers in Events
[freeswitch_click2dial](freeswitch_click2dial/) | 9.0.1.0.0 | FreeSWITCH-Odoo telephony connector (click2dial)
[hr_phone](hr_phone/) | 9.0.1.0.0 | Validate phone numbers in HR [hr_phone](hr_phone/) | 9.0.1.0.0 | Validate phone numbers in HR
[hr_recruitment_phone](hr_recruitment_phone/) | 9.0.1.0.0 | Validate phone numbers in HR Recruitment [hr_recruitment_phone](hr_recruitment_phone/) | 9.0.1.0.0 | Validate phone numbers in HR Recruitment

24
base_phone_popup/popup.py

@ -61,6 +61,30 @@ class PhoneCommon(models.AbstractModel):
callerid = False callerid = False
return callerid return callerid
@api.model
def incall_notify_by_extension(self, number, extension_list):
assert isinstance(extension_list, list), \
'extension_list must be a list'
res = self.get_record_from_phone_number(number)
users = self.env['res.users'].search(
[('internal_number', 'in', extension_list)])
logger.debug(
'Notify incoming call from number %s to users %s'
% (number, users.ids))
action = self._prepare_incall_pop_action(res, number)
if action:
for user in users:
if user.context_incall_popup:
self.sudo(user.id).env['action.request'].notify(action)
logger.debug(
'This action has been sent to user ID %d: %s'
% (user.id, action))
if res:
callerid = res[2]
else:
callerid = False
return callerid
class ResUsers(models.Model): class ResUsers(models.Model):
_inherit = 'res.users' _inherit = 'res.users'

138
freeswitch_click2dial/README.rst

@ -0,0 +1,138 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
=====================
FreeSWITCH Click2Dial
=====================
The technical name of this module is *freeswitch_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 FreeSWITCH. 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 FreeSWITCH Event Socket and FreeSWITCH makes the
user's phone ring.
* The user answers his own phone (if he doesn't, the process stops here).
* FreeSWITCH 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. To understand how to
use this, please see get_caller_name.py, which should be installed per the
instructions in the script on the Odoo/Odoo server. This works for
incoming and outgoing calls, per instructions in the script.
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
FreeSWITCH 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*.
Installation
============
To install this module, you need to:
* Click on the module and install it
Additionally, you will need the FreeSWITCH ESL python module. The easiest way is
pip install FreeSWITCH-ESL-Python. Otherwise, you will find it under
${FREESWITCH_SRC_TOP_DIR}/libs/esl/python. Go to
${FREESWITCH_SRC_TOP_DIR}/libs/esl. Type make. Then make pymod. You will then
need to install ${FREESWITCH_SRC_TOP_DIR}/libs/esl/python/ESL.py and
${FREESWITCH_SRC_TOP_DIR}/libs/esl/python/_ESL.so into the appropriate places
on your Odoo/Odoo server.
(https://wiki.freeswitch.org/wiki/Event_Socket_Library#Installation for more
information.) An alternative method would involve
https://github.com/gurteshwar/freeswitch-esl-python.
Configuration
=============
To configure this module, you need to:
* Settings > Technical > FreeSWITCH Servers
* Setup you server
* Configure users under Settings > Users > $USER > Telphony tab
Usage
=====
To use this module, you need to:
* See scripts/get_caller_name.py to see how to set caller and callee name
* Click on Dial next to any phone number covered by associated modules
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/{repo_id}/{branch}
.. repo_id is available in https://github.com/OCA/maintainer-tools/blob/master/tools/repos_with_ids.txt
.. branch is "8.0" for example
Known issues / Roadmap
======================
* None
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/
{project_repo}/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback `here <https://github.com/OCA/
{project_repo}/issues/new?body=module:%20
{module_name}%0Aversion:%20
{version}%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
Contributors
------------
* Firstname Lastname <email.address@example.org>
* Second Person <second.person@example.org>
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.

4
freeswitch_click2dial/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import freeswitch_click2dial
from . import controller

28
freeswitch_click2dial/__openerp__.py

@ -0,0 +1,28 @@
# -*- coding: utf-8 -*-
# © 2010-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# © 2014-2016 Trever L. Adams
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'FreeSWITCH Click2dial',
'version': '9.0.1.0.0',
'category': 'Phone',
'license': 'AGPL-3',
'summary': 'FreeSWITCH-Odoo connector',
'author': "Trever L. Adams, Akretion,Odoo Community Association (OCA)",
'website': 'https://github.com/treveradams/connector-telephony',
'depends': ['base_phone'],
'external_dependencies': {'python': ['freeswitchESL']},
'data': [
'freeswitch_server_view.xml',
'res_users_view.xml',
'security/ir.model.access.csv',
'web_freeswitch_click2dial.xml',
],
'demo': ['freeswitch_click2dial_demo.xml'],
'qweb': ['static/src/xml/*.xml'],
'css': ['static/src/css/*.css'],
'application': True,
'installable': True,
}

18
freeswitch_click2dial/controller.py

@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
# © 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# © 2015-2016 Juris Malinens (port to v9)
# © 2014-2016 Trever Adams
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import http
class FreeSWITCHClick2dialController(http.Controller):
_cp_path = '/freeswitch_click2dial'
@http.route(
'/freeswitch_click2dial/get_record_from_my_channel/',
type='json', auth='public')
def get_record_from_my_channel(self, **kw):
res = http.request.env['freeswitch.server'].get_record_from_my_channel()
return res

401
freeswitch_click2dial/freeswitch_click2dial.py

@ -0,0 +1,401 @@
# -*- coding: utf-8 -*-
# © 2010-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# © 2014-2016 Trever L. Adams
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import models, fields, api, _
from openerp.exceptions import UserError, ValidationError
import logging
# from pprint import pformat
try:
from freeswitchESL import ESL
except ImportError:
import ESL
# import sys
import StringIO
import re
import json
_logger = logging.getLogger(__name__)
class FreeSWITCHServer(models.Model):
'''FreeSWITCH server object, stores the parameters of the FreeSWITCH Servers'''
_name = "freeswitch.server"
_description = "FreeSWITCH Servers"
name = fields.Char(string='FreeSWITCH Server Name', required=True)
active = fields.Boolean(
string='Active', help="The active field allows you to hide the "
"FreeSWITCH server without deleting it.", default=True)
ip_address = fields.Char(
string='FreeSWITCH IP address or DNS', required=True,
help="IP address or DNS name of the FreeSWITCH server.")
port = fields.Integer(
string='Port', required=True, default=8021,
help="TCP port on which the FreeSWITCH Event Socket listens. "
"Defined in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml on "
"FreeSWITCH.")
out_prefix = fields.Char(
string='Out Prefix', size=4, help="Prefix to dial to make outgoing "
"calls. If you don't use a prefix to make outgoing calls, "
"leave empty.")
password = fields.Char(
string='Event Socket Password', required=True,
help="Password that OpenERP will use to communicate with the "
"FreeSWITCH Event Socket. Refer to "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml "
"on your FreeSWITCH server.")
context = fields.Char(
string='Dialplan Context', required=True, default="XML default",
help="FreeSWITCH dialplan context from which the calls will be "
"made; e.g. 'XML default'. Refer to /etc/freeswitch/dialplan/* "
"on your FreeSWITCH server.")
wait_time = fields.Integer(
string='Wait Time (sec)', required=True,
help="Amount of time (in seconds) FreeSWITCH will try to reach "
"the user's phone before hanging up.", default=60)
alert_info = fields.Char(
string='Alert-Info SIP Header',
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.")
company_id = fields.Many2one(
'res.company', string='Company',
default=lambda self: self.env['res.company']._company_default_get(
'freeswitch.server'),
help="Company who uses the FreeSWITCH server.")
@api.multi
@api.constrains(
'out_prefix', 'wait_time', 'port', 'context', 'alert_info', 'password')
def _check_validity(self):
for server in self:
out_prefix = ('Out prefix', server.out_prefix)
dialplan_context = ('Dialplan context', server.context)
alert_info = ('Alert-Info SIP header', server.alert_info)
password = ('Event Socket password', server.password)
if out_prefix[1] and not out_prefix[1].isdigit():
raise ValidationError(
_("Only use digits for the '%s' on the FreeSWITCH server "
"'%s'" % (out_prefix[0], server.name)))
if server.wait_time < 1 or server.wait_time > 120:
raise ValidationError(
_("You should set a 'Wait time' value between 1 and 120 "
"seconds for the FreeSWITCH server '%s'"
% server.name))
if server.port > 65535 or server.port < 1:
raise ValidationError(
_("You should set a TCP port between 1 and 65535 for the "
"FreeSWITCH server '%s'" % server.name))
for check_str in [dialplan_context, alert_info, password]:
if check_str[1]:
try:
check_str[1].encode('ascii')
except UnicodeEncodeError:
raise ValidationError(
_("The '%s' should only have ASCII caracters for "
"the FreeSWITCH server '%s'"
% (check_str[0], server.name)))
@api.model
def _connect_to_freeswitch(self):
'''
Open the connection to the FreeSWITCH Event Socket
Returns an instance of the FreeSWITCH Event Socket
'''
user = self.env.user
fs_server = user.get_freeswitch_server_from_user()
# We check if the current user has a chan type
if not user.freeswitch_chan_type:
raise UserError(
_('No channel type configured for the current user.'))
# We check if the current user has an internal number
if not user.resource:
raise UserError(
_('No resource name configured for the current user'))
_logger.debug(
"User's phone: %s/%s", user.freeswitch_chan_type, user.resource)
_logger.debug(
"FreeSWITCH server: %s:%d", fs_server.ip_address, fs_server.port)
# Connect to the FreeSWITCH Event Socket
try:
fs_manager = ESL.ESLconnection(
str(fs_server.ip_address),
str(fs_server.port), str(fs_server.password))
except Exception, e:
_logger.error(
"Error in the request to the FreeSWITCH Event Socket %s",
fs_server.ip_address)
_logger.error("Here is the error message: %s", e)
raise UserError(
_("Problem in the request from Odoo to FreeSWITCH. "
"Here is the error message: %s" % e))
# return (False, False, False)
return (user, fs_server, fs_manager)
@api.multi
def test_es_connection(self):
self.ensure_one()
fs_manager = False
try:
fs_manager = ESL.ESLconnection(
str(self.ip_address),
str(self.port), str(self.password))
except Exception, e:
raise UserError(
_("Connection Test Failed! The error message is: %s" % e))
finally:
try:
if fs_manager.connected() is not 1:
raise UserError(
_("Connection Test Failed! Check Host, Port and Password"))
else:
fs_manager.disconnect()
except Exception, e:
pass
raise UserError(_(
"Connection Test Successfull! Odoo can successfully login to "
"the FreeSWITCH Event Socket."))
@api.model
def _get_calling_number(self):
user, fs_server, fs_manager = self._connect_to_freeswitch()
calling_party_number = False
try:
request = "channels like /" + re.sub(r'/', r':', user.resource) + \
("/" if user.freeswitch_chan_type == "FreeTDM" else "@") + \
" as json"
ret = fs_manager.api('show', str(request))
f = json.load(StringIO.StringIO(ret.getBody()))
if int(f['row_count']) > 0:
if (f['rows'][0]['initial_cid_name'] == 'Odoo Connector' or
f['rows'][0]['direction'] == 'inbound'):
calling_party_number = f['rows'][0]['dest']
else:
calling_party_number = f['rows'][0]['cid_num']
except Exception, e:
_logger.error(
"Error in the Status request to FreeSWITCH server %s",
fs_server.ip_address)
_logger.error(
"Here are the details of the error: '%s'" % unicode(e))
raise UserError(
_("Can't get calling number from FreeSWITCH.\nHere is the "
"error: '%s'" % unicode(e)))
finally:
fs_manager.disconnect()
_logger.debug("Calling party number: '%s'", calling_party_number)
return calling_party_number
@api.model
def get_record_from_my_channel(self):
calling_number = self.env['freeswitch.server']._get_calling_number()
# calling_number = "0641981246"
if calling_number:
record = self.env['phone.common'].get_record_from_phone_number(
calling_number)
if record:
return record
else:
return calling_number
else:
return False
class ResUsers(models.Model):
_inherit = "res.users"
internal_number = fields.Char(
string='Internal Number',
help="User's internal phone number.")
dial_suffix = fields.Char(
string='User-specific Dial Suffix',
help="User-specific dial suffix such as aa=2wb for SCCP "
"auto answer.")
callerid = fields.Char(
string='Caller ID', copy=False,
help="Caller ID used for the calls initiated by this user.")
cdraccount = fields.Char(
string='CDR Account',
help="Call Detail Record (CDR) account used for billing this "
"user.")
freeswitch_chan_type = fields.Selection([
('user', 'SIP'),
('FreeTDM', 'FreeTDM'),
('verto.rtc', 'Verto'),
('skinny', 'Skinny'),
('h323', 'H323'),
('dingaling', 'XMPP/JINGLE'),
('gsmopen', 'GSM SMS/Voice'),
('skypeopen', 'SkypeOpen'),
('Khomp', 'Khomp'),
('opal', 'Opal Multi-protocol'),
('portaudio', 'Portaudio'),
], string='FreeSWITCH Channel Type', default='user',
help="FreeSWITCH channel type, as used in the FreeSWITCH "
"dialplan. If the user has a regular IP phone, the channel type "
"is 'SIP'. Use Verto for verto.rtc connections only if you "
"haven't added '${verto_contact ${dialed_user}@${dialed_domain}}' "
"to the default dial string. Otherwise, use SIP. (This better "
"allows for changes to the user directory and changes in type of "
"phone without the need for further changes in OpenERP/Odoo.)")
resource = fields.Char(
string='Resource Name',
help="Resource name for the channel type selected. For example, "
"if you use 'user/phone1' in your FreeSWITCH 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. FreeTDM will be the span followed "
"by the port (i.e. 1/5).")
alert_info = fields.Char(
string='User-specific Alert-Info SIP Header',
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.")
variable = fields.Char(
string='User-specific Variable',
help="Set a user-specific 'Variable' field in the FreeSWITCH "
"Event Socket 'originate' request for the click2dial "
"feature. If you want to have several variable headers, separate "
"them with '|'.")
freeswitch_server_id = fields.Many2one(
'freeswitch.server', string='FreeSWITCH Server',
help="FreeSWITCH server on which the user's phone is connected. "
"If you leave this field empty, it will use the first FreeSWITCH "
"server of the user's company.")
@api.multi
@api.constrains('resource', 'internal_number', 'callerid')
def _check_validity(self):
for user in self:
strings_to_check = [
(_('Resource Name'), user.resource),
(_('Internal Number'), user.internal_number),
(_('Caller ID'), user.callerid),
]
for check_string in strings_to_check:
if check_string[1]:
try:
check_string[1].encode('ascii')
except UnicodeEncodeError:
raise ValidationError(_(
"The '%s' for the user '%s' should only have "
"ASCII caracters"),
check_string[0], user.name)
@api.multi
def get_freeswitch_server_from_user(self):
'''Returns an freeswitch.server recordset'''
self.ensure_one()
# We check if the user has an FreeSWITCH server configured
if self.freeswitch_server_id.id:
fs_server = self.freeswitch_server_id
else:
freeswitch_servers = self.env['freeswitch.server'].search(
[('company_id', '=', self.company_id.id)])
# If the user doesn't have an FreeSWITCH server,
# we take the first one of the user's company
if not freeswitch_servers:
raise UserError(
_("No FreeSWITCH server configured for the company '%s'.")
% self.company_id.name)
else:
fs_server = freeswitch_servers[0]
return fs_server
class PhoneCommon(models.AbstractModel):
_inherit = 'phone.common'
@api.model
def click2dial(self, erp_number):
res = super(PhoneCommon, self).click2dial(erp_number)
if not erp_number:
raise UserError(_('Missing phone number'))
user, fs_server, fs_manager = \
self.env['freeswitch.server']._connect_to_freeswitch()
fs_number = self.convert_to_dial_number(erp_number)
# Add 'out prefix'
if fs_server.out_prefix:
_logger.debug('Out prefix = %s', fs_server.out_prefix)
fs_number = '%s%s' % (fs_server.out_prefix, fs_number)
_logger.debug('Number to be sent to FreeSWITCH = %s', fs_number)
# The user should have a CallerID
if not user.callerid:
raise UserError(_('No callerID configured for the current user'))
variable = ""
if user.freeswitch_chan_type == 'user':
# We can only have one alert-info header in a SIP request
if user.alert_info:
variable += 'alert_info=' + user.alert_info
elif fs_server.alert_info:
variable += 'alert_info=' + fs_server.alert_info
if user.variable:
for user_variable in user.variable.split('|'):
if len(variable) and len(user_variable):
variable += ','
variable += user_variable.strip()
if user.callerid:
caller_name = re.search(r'([^<]*).*',
user.callerid).group(1).strip()
caller_number = re.search(r'.*<(.*)>.*',
user.callerid).group(1).strip()
if caller_name:
if len(variable):
variable += ','
caller_name = caller_name.replace(",", r"\,")
variable += 'effective_caller_id_name=' + caller_name
if caller_number:
if len(variable):
variable += ','
variable += 'effective_caller_id_number=' + caller_number
if fs_server.wait_time != 60:
if len(variable):
variable += ','
variable += 'ignore_early_media=true' + ','
variable += 'originate_timeout=' + str(fs_server.wait_time)
channel = '%s/%s' % (user.freeswitch_chan_type, user.resource)
if user.dial_suffix:
channel += '/%s' % user.dial_suffix
try:
# originate <csv global vars>user/2005 1005 DP_TYPE DP_NAME
# 'Caller ID name showed to aleg' 90125
dial_string = (('<' + variable + '>') if variable else '') + \
channel + ' ' + fs_number + ' ' + fs_server.context + ' ' + \
'\'Odoo Connector\' ' + fs_number
# raise orm.except_orm(_('Error :'), dial_string)
fs_manager.api('originate', dial_string.encode("ascii"))
except Exception, e:
_logger.error(
"Error in the Originate request to FreeSWITCH server %s",
fs_server.ip_address)
_logger.error(
"Here are the details of the error: '%s'", unicode(e))
raise UserError(
_("Click to dial with FreeSWITCH failed.\nHere is the error: "
"'%s'")
% unicode(e))
finally:
fs_manager.disconnect()
res['dialed_number'] = fs_number
return res

39
freeswitch_click2dial/freeswitch_click2dial_demo.xml

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
© 2010-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
© 2014-2016 Trever L. Adams
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<data noupdate="1">
<record id="demo_fs_server" model="freeswitch.server">
<field name="name">Akretion FreeSWITCH Server</field>
<field name="ip_address">freeswitch.akretion.com</field>
<field name="port">8021</field>
<field name="password">mypassword</field>
<field name="context">from-internal</field>
<field name="alert_info">info=&lt;Bellcore-dr5&gt;</field>
<field name="company_id" ref="base.main_company" />
</record>
<record id="base.user_root" model="res.users">
<field name="internal_number">11</field>
<field name="resource">11</field>
<field name="callerid">Administrator &lt;0141981242&gt;</field>
<field name="freeswitch_server_id" ref="demo_fs_server"/>
</record>
<record id="base.user_demo" model="res.users">
<field name="internal_number">12</field>
<field name="resource">12</field>
<field name="callerid">Demo user &lt;0141984212&gt;</field>
<field name="freeswitch_server_id" ref="demo_fs_server"/>
</record>
<record id="base.main_partner" model="res.partner">
<field name="country_id" ref="base.fr"/>
</record>
</data>
</odoo>

85
freeswitch_click2dial/freeswitch_server_view.xml

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
© 2010-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<data>
<record id="view_freeswitch_server_search" model="ir.ui.view">
<field name="name">freeswitch.server.search</field>
<field name="model">freeswitch.server</field>
<field name="arch" type="xml">
<search string="FreeSWITCH Server Search">
<field name="name"
filter_domain="['|', ('name', 'ilike', self), ('ip_address', 'ilike', self)]"/>
</search>
</field>
</record>
<record id="view_freeswitch_server_form" model="ir.ui.view">
<field name="name">freeswitch.server.form</field>
<field name="model">freeswitch.server</field>
<field name="arch" type="xml">
<form string="FreeSWITCH Servers">
<sheet>
<div class="oe_title">
<label for="name" string="Server Name" class="oe_edit_only"/>
<h1>
<field name="name"/>
</h1>
</div>
<group name="main">
<field name="company_id"
groups="base.group_multi_company"/>
<field name="active" />
</group>
<group name="es" string="FreeSWITCH Event Socket">
<field name="ip_address" />
<field name="port" />
<field name="password" password="True" />
<button name="test_es_connection" type="object"
string="Test Connection to FreeSWITCH"
icon="gtk-network" colspan="2"/>
</group>
<group name="dialplan" string="Dialplan Parameters">
<field name="context" />
<field name="out_prefix" />
<field name="alert_info" />
<label for="wait_time"/>
<div>
<field name="wait_time" class="oe_inline"/>
<label string=" seconds" class="oe_inline"/>
</div>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_freeswitch_server_tree" model="ir.ui.view">
<field name="name">freeswitch.server.tree</field>
<field name="model">freeswitch.server</field>
<field name="arch" type="xml">
<tree string="FreeSWITCH Servers">
<field name="name" />
<field name="ip_address" />
<field name="company_id"
groups="base.group_multi_company" />
</tree>
</field>
</record>
<record id="action_freeswitch_server" model="ir.actions.act_window">
<field name="name">FreeSWITCH Servers</field>
<field name="res_model">freeswitch.server</field>
<field name="view_mode">tree,form</field>
</record>
<!-- Menu entry under Settings > Technical > Phone -->
<menuitem action="action_freeswitch_server" id="act_menu_fs_server" parent="base_phone.menu_config_phone" sequence="50"/>
</data>
</odoo>

411
freeswitch_click2dial/i18n/bg.po

@ -0,0 +1,411 @@
# Bulgarian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-09-10 20:38+0000\n"
"PO-Revision-Date: 2011-03-30 07:31+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian <bg@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-04-17 05:22+0000\n"
"X-Generator: Launchpad (build 15099)\n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket password"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,international_prefix:0
msgid "International prefix"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IPv4 address or DNS name of the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Името на обекта трябва да започва с x_ и не може да никакви специални знаци !"
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Dial"
msgstr "Набиране"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'country prefix'"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server on which the user's phone is connected."
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
msgid "FreeSWITCH Servers"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Невалидно име на модел при задаване на действие"
#. module: freeswitch_click2dial
#: field:res.users,callerid:0
msgid "Caller ID"
msgstr "Идентификатор на звъняващия"
#. module: freeswitch_click2dial
#: model:ir.module.module,description:freeswitch_click2dial.module_meta_information
msgid ""
"The module adds dial button in partner address\n"
"so that you can directly dial a phone number through FreeSWITCH.\n"
"Documentation is available on the Arkretion Web site http://[TODO]"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,name:0
msgid "FreeSWITCH server name."
msgstr ""
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Mobile : "
msgstr ""
#. module: freeswitch_click2dial
#: view:res.company:0
msgid "FreeSWITCH servers for click2dial"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait time (sec)"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan context"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr "Фирма"
#. module: freeswitch_click2dial
#: help:freeswitch.server,country_prefix:0
msgid ""
"Phone prefix of the country where the FreeSWITCH server is located. For e.g. "
"the phone prefix for France is '33'. If the phone number to dial starts with "
"the 'My country prefix', OpenERP will remove the country prefix from the "
"phone number and add the 'out prefix' followed by the 'national prefix'. If "
"the phone number to dial doesn't start with the 'My country prefix', OpenERP "
"will add the 'out prefix' followed by the 'international prefix'."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid ""
"Prefix to dial to place outgoing calls. If you don't use a prefix to place "
"outgoing calls, leave empty."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid ""
"FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to "
"/etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.module.module,shortdesc:freeswitch_click2dial.module_meta_information
msgid "FreeSWITCH Click2dial"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.company,freeswitch_server_ids:0
msgid "List of FreeSWITCH servers."
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,national_prefix:0
msgid ""
"Prefix for national phone calls (don't include the 'out prefix'). For e.g., "
"in France, the phone numbers look like '01 41 98 12 42' : the National "
"prefix is '0'."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid ""
"TCP port on which the FreeSWITCH Event Socket listens. Defined in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,international_prefix:0
msgid ""
"Prefix to add to make international phone calls (don't include the 'out "
"prefix'). For e.g., in France, the International prefix is '00'."
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,internal_number:0
msgid "Internal number"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH channel type"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out prefix"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "TCP ports range from 1 to 65535"
msgstr ""
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Phone : "
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'out prefix' or leave empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP addr. or DNS"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid ""
"Password that FreeSWITCH will use to communicate with the FreeSWITCH Event "
"Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for 'international prefix'"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,national_prefix:0
msgid "National prefix"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,country_prefix:0
msgid "My country prefix"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: field:res.company,freeswitch_server_ids:0
msgid "FreeSWITCH servers"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH server name"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid ""
"Amount of time (in seconds) FreeSWITCH will try to reach the user's phone "
"before hanging up."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid ""
"FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a "
"regular IP phone, the channel type is 'SIP'."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'national prefix' or leave empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr "Порт"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "You should enter a 'Wait time' value between 1 and 120 seconds"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Can't resolve the DNS of the FreeSWITCH server : "
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Invalid phone number"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The phone number is not written in valid international format. Example of "
"valid international format : +33 1 41 98 12 42"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid national format."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid format."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Error :"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "There is no phone number !"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No FreeSWITCH server configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No channel type configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No internal phone number configured for the current user"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The connection from OpenERP to the FreeSWITCH server failed. Please check the "
"configuration on OpenERP and on FreeSWITCH."
msgstr ""

615
freeswitch_click2dial/i18n/de.po

@ -0,0 +1,615 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * freeswitch_click2dial
#
# Rudolf Schnapka <schnapkar@golive-saar.de>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-25 21:42+0000\n"
"PO-Revision-Date: 2015-01-03 11:23+0100\n"
"Last-Translator: Rudolf Schnapka <schnapkar@golive-saar.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Language: de\n"
"X-Generator: Lokalize 1.5\n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket Password"
msgstr "Event Socket Kennwort"
#. module: freeswitch_click2dial
#: field:freeswitch.server,active:0
msgid "Active"
msgstr "Aktiv"
#. module: freeswitch_click2dial
#: field:freeswitch.server,alert_info:0
msgid "Alert-Info SIP Header"
msgstr "Warnhinweis SIP-Kopf"
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid ""
"Amount of time (in seconds) FreeSWITCH will try to reach the user's phone "
"before hanging up."
msgstr ""
"Zeit (in Sekunden), in der FreeSWITCH versuchen soll das Telefon des Anwenders "
"zu erreichen, bevor aufgelegt wird."
#. module: freeswitch_click2dial
#: model:res.groups,name:freeswitch_click2dial.group_freeswitch_cid
msgid "FreeSWITCH CallerID"
msgstr "FreeSWITCH AnruferID"
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH Channel Type"
msgstr "FreeSWITCH Kanal-Typ"
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP address or DNS"
msgstr "FreeSWITCH IP-Addresse oder DNS"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "FreeSWITCH Event Socket"
msgstr "FreeSWITCH Verwaltungsschnittstelle"
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH Server"
msgstr "FreeSWITCH Server"
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH Server Name"
msgstr "FreeSWITCH Servername"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "FreeSWITCH Server Search"
msgstr "FreeSWITCH Serversuche"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
#: model:ir.ui.menu,name:freeswitch_click2dial.act_menu_fs_server
msgid "FreeSWITCH Servers"
msgstr "FreeSWITCH Server"
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid ""
"FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a "
"regular IP phone, the channel type is 'SIP'."
msgstr ""
"FreeSWITCH Kanal-Typen, wie im Wählplan verwendet. Hat der Anwender eine "
"gewöhnliches IP-Telefon, so ist der Kanal-Typ 'SIP'"
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid ""
"FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to "
"/etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr ""
"FreeSWITCH Wählplan-Umfeld aus dem Anrufe getätigt werden. Siehe auch "
"/etc/freeswitch/dialplan/* auf Ihrem FreeSWITCH-Server."
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid ""
"FreeSWITCH server on which the user's phone is connected. If you leave this "
"field empty, it will use the first FreeSWITCH server of the user's company."
msgstr ""
"FreeSWITCH-Server an welchen des Anwenders Telefon angeschlossen ist. Wenn "
"leer, wird der erste Server im Unternehmen des Anwenders angenommen."
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:26
#, python-format
msgid "BIG PB"
msgstr "BIG PB"
#. module: freeswitch_click2dial
#: field:res.users,cdraccount:0
msgid "CDR Account"
msgstr "CDR-Konto"
#. module: freeswitch_click2dial
#: help:res.users,cdraccount:0
msgid "Call Detail Record (CDR) account used for billing this user."
msgstr "Call Detail Record (CDR) Konto zur Abrechnung mit diesem Anwender."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:405
#: field:res.users,callerid:0
#, python-format
msgid "Caller ID"
msgstr "Anrufer-ID"
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "Anrufer-ID wird für ausgehende Anrufe dieses Anwenders genutzt."
#. module: freeswitch_click2dial
#: field:number.not.found,calling_number:0
msgid "Calling Number"
msgstr "Eingehende Rufnummer"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:310
#, python-format
msgid ""
"Can't get calling number from FreeSWITCH.\n"
"Here is the error: '%s'"
msgstr ""
"Kann eingehende Rufnummer von FreeSWITCH nicht erhalten.\n"
"Dies ist die Fehlermeldung: '%s'"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:481
#, python-format
msgid ""
"Click to dial with FreeSWITCH failed.\n"
"Here is the error: '%s'"
msgstr ""
"Klick zum Wählen ist an FreeSWITCH gescheitert.\n"
"Dies ist die Fehlermeldung: '%s'"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_company
msgid "Companies"
msgstr "Unternehmen"
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr "Unternehmen"
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr "Unternehmen, welches den FreeSWITCH-Server nutzt."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:255
#, python-format
msgid "Connection Test Failed!"
msgstr "Verbindungstest scheiterte!"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:264
#, python-format
msgid "Connection Test Successfull!"
msgstr "Verbindungstest erfolgreich!"
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan Context"
msgstr "Wählplan-Umfeld"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Dialplan Parameters"
msgstr "Wählplan-Parameter"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
#: constraint:res.users:0
msgid "Error message in raise"
msgstr "Fehlermeldung beim Auslösen"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:109
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:114
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:119
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:124
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:133
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:191
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:212
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:218
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:238
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:308
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:413
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:432
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:444
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:480
#, python-format
msgid "Error:"
msgstr "Fehler:"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:25
#, python-format
msgid "Fail"
msgstr "Gescheitert"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:256
#, python-format
msgid "Here is the error message: %s"
msgstr "Dies ist die Fehlermeldung: %s"
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IP address or DNS name of the FreeSWITCH server."
msgstr "IP-Addresse oder DNS des FreeSWITCH-Servers."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:404
#: field:res.users,internal_number:0
#, python-format
msgid "Internal Number"
msgstr "Interne Rufnummer"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:433
#, python-format
msgid "Missing phone number"
msgstr "Fehlende Rufnummer"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:45
#, python-format
msgid "Moving to %s ID %d"
msgstr "Leite um nach %s ID %s"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:192
#, python-format
msgid "No FreeSWITCH server configured for the company '%s'."
msgstr "Kein FreeSWITCH-Server für das Unternehmen '%s' eingestellt."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:445
#, python-format
msgid "No callerID configured for the current user"
msgstr "Keine Anrufer-ID für aktuellen Anwender eingestellt"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:213
#, python-format
msgid "No channel type configured for the current user."
msgstr "Für aktuellen Anwender ist kein Kanal-Typ eingestellt."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:219
#, python-format
msgid "No resource name configured for the current user"
msgstr "Kein Ressourcenname für aktellen Anwender eingestellt"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:31
#, python-format
msgid "Number Not Found"
msgstr "Rufnummer nicht gefunden"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_number_not_found
msgid "Number not found"
msgstr "Rufnummer nicht gefunden"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:111
#, python-format
msgid "Only use digits for the '%s' on the FreeSWITCH server '%s'"
msgstr "Nur Ziffern für '%s' auf FreeSWITCH-Server '%s' verwenden"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/xml/freeswitch_click2dial.xml:13
#, python-format
msgid "Open Caller"
msgstr "Anrufer öffnen"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_wizard_open_calling_partner
msgid "Open calling partner"
msgstr "Anrufenden Teilnehmer öffnen"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:265
#, python-format
msgid "OpenERP can successfully login to the FreeSWITCH Event Socket."
msgstr ""
"OpenERP kann sich erfolgreich bei der FreeSWITCH-Verwaltungsschnittstelle "
"anmelden."
#. module: freeswitch_click2dial
#: view:res.users:0
msgid "Optional FreeSWITCH Parameters - for experts only, can be left empty"
msgstr "Wahlweise FreeSWITCH-Parameter - nur für Experten, können auch leer bleiben"
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out Prefix"
msgstr "Ausgehendes Präfix"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: freeswitch_click2dial
#: help:number.not.found,to_update_partner_id:0
msgid "Partner on which the phone number will be written"
msgstr "Partner, dem die Rufnummer zugeschrieben wird"
#. module: freeswitch_click2dial
#: field:number.not.found,to_update_partner_id:0
msgid "Partner to Update"
msgstr "Zu aktualisierender Partner"
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid ""
"Password that OpenERP will use to communicate with the FreeSWITCH Event "
"Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr ""
"Kennwort, welches OpenERP zur Kommunikation mit der "
"FreeSWITCH-Verwaltungsschnittstelle verwenden soll. Bitte "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml Ihres FreeSWITCH-Servers konsultieren."
#. module: freeswitch_click2dial
#: help:number.not.found,calling_number:0
msgid ""
"Phone number of calling party that has been obtained from FreeSWITCH, in the "
"format used by FreeSWITCH (not E.164)."
msgstr ""
"Von FreeSWITCH übermittelte Rufnummer des anrufenden Teilnehmers, im durch "
"FreeSWITCH verwendeten Format (nicht E.164)."
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr "Port"
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid ""
"Prefix to dial to make outgoing calls. If you don't use a prefix to make "
"outgoing calls, leave empty."
msgstr ""
"Wahl-Präfix für ausgehende Anrufe. Wenn Sie kein Präfix bei ausgehenden "
"Anrufen nutzen, lassen Sie dieses leer."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:239
#, python-format
msgid ""
"Problem in the request from OpenERP to FreeSWITCH. Here is the error message: %s"
msgstr ""
"Problem bei der Anforderung von OpenERP an FreeSWITCH. Dies ist die "
"Fehlermeldung: %s"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:403
#: field:res.users,resource:0
#, python-format
msgid "Resource Name"
msgstr "Ressourcenname"
#. module: freeswitch_click2dial
#: help:res.users,resource:0
msgid ""
"Resource name for the channel type selected. For example, if you use "
"'Dial(SIP/phone1)' in your FreeSWITCH 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."
msgstr ""
"Ressourcenname für den gewählten Kanal-Typ. Zum Beispiel verwenden Sie "
"'Dial(SIP/telefon1)' im FreeSWITCH-Wählplan zum Anwählen der SIP-Telefons "
"dieses Anwenders, so ist telefon1 der Ressourcenname dieses Anwenders. Bei "
"SIP-Telefonen wird häufig die Rufummer als Ressourcenname eingesetzt."
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Server Name"
msgstr "Servername"
#. module: freeswitch_click2dial
#: help:freeswitch.server,alert_info:0
msgid ""
"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."
msgstr ""
"Setze Hinweis-Kopftext für SIP-Anforderung durch das IP-Telefon des Anwenders "
"bei Klick-zum-Wählen -Dienst. Wenn leer, wird kein Hinweistext hinzugefügt. "
"Sie können diesen z. B. verwenden, um einen gesonderten Klingelton (leise!) "
"bei Klicken-zum-Wählen zu erhalten oder Auto-Abheben einzuschalten."
#. module: freeswitch_click2dial
#: help:res.users,variable:0
msgid ""
"Set a user-specific 'Variable' field in the FreeSWITCH Event Socket "
"'originate' request for the click2dial feature. If you want to have several "
"variable headers, separate them with '|'."
msgstr ""
"Anwender-spezifisches Feld 'Variable' für die 'originate'-Anforderung bei "
"Klick2Dial in der FreeSWITCH-Verwaltungsschnittstelle setzen. Sollten Sie "
"mehrere Variablen wünschen, trennen Sie diese mit '|'."
#. module: freeswitch_click2dial
#: help:res.users,alert_info:0
msgid ""
"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."
msgstr ""
"Anwender-spezifische Hinweis-Kopftext in einer SIP-Anforderung bei Klick2Dial "
"an das SIP-Telefon. Wenn leer, wird kein Hinweistext hinzugefügt. Sie können "
"diesen z. B. verwenden, um einen gesonderten Klingelton (leise!) bei "
"Klicken-zum-Wählen zu erhalten oder Auto-Abheben einzuschalten."
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: view:res.users:0
msgid "Standard FreeSWITCH Parameters"
msgstr "Standard FreeSWITCH-Parameter"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:44
#, python-format
msgid "Success"
msgstr "Erfolg"
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid ""
"TCP port on which the FreeSWITCH Event Socket listens. Defined in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr ""
"TCP-Port auf dem die FreeSWITCH-Verwaltungsschnittstelle lauscht. Festgelegt in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml Ihres FreeSWITCH-Servers."
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Test Connection to FreeSWITCH"
msgstr "Verbindungstest mit FreeSWITCH-Anlage"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:414
#, python-format
msgid "The '%s' for the user '%s' should only have ASCII caracters"
msgstr "'%s' des Anwenders '%s' sollte nur aus ASCII-Zeichen bestehen"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:136
#, python-format
msgid "The '%s' should only have ASCII caracters for the FreeSWITCH server '%s'"
msgstr "'%s' für den FreeSWITCH-Server '%s' sollte nur aus ASCII-Zeichen bestehen"
#. module: freeswitch_click2dial
#: help:freeswitch.server,active:0
msgid ""
"The active field allows you to hide the FreeSWITCH server without deleting it."
msgstr ""
"Das Aktiv-Feld ermöglicht es Ihnen einen FreeSWITCH-Server zu verstecken, ohne "
"ihn gleich löschen zu müssen."
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr "Interne Rufnummer des Anwenders."
#. module: freeswitch_click2dial
#: field:res.users,alert_info:0
msgid "User-specific Alert-Info SIP Header"
msgstr "Anwenderspezifischer Hinweis-Text im SIP-Kopf"
#. module: freeswitch_click2dial
#: field:res.users,dial_suffix:0
msgid "User-specific Dial Suffix"
msgstr "Anwenderspezifisches Wähl-Suffix"
#. module: freeswitch_click2dial
#: field:res.users,variable:0
msgid "User-specific Variable"
msgstr "Anwenderspezifische Variable"
#. module: freeswitch_click2dial
#: help:res.users,dial_suffix:0
msgid "User-specific dial suffix such as aa=2wb for SCCP auto answer."
msgstr "Anwenderspezifisches Wählsuffix, wie z. B. aa=2wb zum Auto-Abheben bei SCCP."
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_users
msgid "Users"
msgstr "Anwender"
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait Time (sec)"
msgstr "Wartezeit (Sek.)"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:115
#, python-format
msgid ""
"You should set a 'Wait time' value between 1 and 120 seconds for the FreeSWITCH "
"server '%s'"
msgstr ""
"Sie sollten für die Wartezeit Ihres FreeSWITCH-Servers '%s' einen Wert "
"zwischen 1 und 120 verwenden"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:125
#, python-format
msgid ""
"You should set a TCP port between 1 and 65535 for the FreeSWITCH server '%s'"
msgstr ""
"Sie müssen einen TCP-Port zwischen 1 und 65535 beim FreeSWITCH-Server '%s' "
"setzen"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_phone_common
msgid "phone.common"
msgstr "phone.common"

449
freeswitch_click2dial/i18n/es.po

@ -0,0 +1,449 @@
# Spanish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-09-10 20:38+0000\n"
"PO-Revision-Date: 2011-08-23 18:36+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-04-17 05:22+0000\n"
"X-Generator: Launchpad (build 15099)\n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket password"
msgstr "Contraseña Event Socket"
#. module: freeswitch_click2dial
#: field:freeswitch.server,international_prefix:0
msgid "International prefix"
msgstr "Prefijo internacional"
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IPv4 address or DNS name of the FreeSWITCH server."
msgstr "Dirección IPv4 o nombre DNS del servidor FreeSWITCH."
#. module: freeswitch_click2dial
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
"especial!"
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Dial"
msgstr "Marcar"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'country prefix'"
msgstr "Sólo utilizar dígitos para el \"prefijo del país\""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server"
msgstr "Servidor FreeSWITCH"
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server on which the user's phone is connected."
msgstr ""
"Servidor de FreeSWITCH en el que el teléfono del usuario está conectado."
#. module: freeswitch_click2dial
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
msgid "FreeSWITCH Servers"
msgstr "Servidores FreeSWITCH"
#. module: freeswitch_click2dial
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Nombre del modelo inválido en la definición de acción."
#. module: freeswitch_click2dial
#: field:res.users,callerid:0
msgid "Caller ID"
msgstr "ID de llamada"
#. module: freeswitch_click2dial
#: model:ir.module.module,description:freeswitch_click2dial.module_meta_information
msgid ""
"The module adds dial button in partner address\n"
"so that you can directly dial a phone number through FreeSWITCH.\n"
"Documentation is available on the Arkretion Web site http://[TODO]"
msgstr ""
"Este módulo agrega un botón de marcación en la dirección de la empresa\n"
"de modo que puede llamar directamente un número de teléfono a través de "
"FreeSWITCH.\n"
"La documentación está disponible en el sitio Web http:// Arkretion [TODO]"
#. module: freeswitch_click2dial
#: help:freeswitch.server,name:0
msgid "FreeSWITCH server name."
msgstr "Nombre del servidor FreeSWITCH."
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Mobile : "
msgstr "Móvil : "
#. module: freeswitch_click2dial
#: view:res.company:0
msgid "FreeSWITCH servers for click2dial"
msgstr "Servidores de FreeSWITCH para click2dial"
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait time (sec)"
msgstr "Tiempo de espera (seg)"
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan context"
msgstr "Contexto del plan de marcado"
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr "Compañía"
#. module: freeswitch_click2dial
#: help:freeswitch.server,country_prefix:0
msgid ""
"Phone prefix of the country where the FreeSWITCH server is located. For e.g. "
"the phone prefix for France is '33'. If the phone number to dial starts with "
"the 'My country prefix', OpenERP will remove the country prefix from the "
"phone number and add the 'out prefix' followed by the 'national prefix'. If "
"the phone number to dial doesn't start with the 'My country prefix', OpenERP "
"will add the 'out prefix' followed by the 'international prefix'."
msgstr ""
"Prefijo telefónico del país donde se encuentra el servidor FreeSWITCH. Por "
"ejemplo, el prefijo telefónico de Francia es \"33\". Si el número de "
"teléfono para marcar comienza con el \"Mi prefijo del país\", OpenERP "
"eliminará el prefijo del país a partir del número de teléfono y agregar el "
"\"prefijo exterior\" seguido por el \"prefijo nacional\". Si el número de "
"teléfono para marcar no se inicia con el \"Mi prefijo del país\", OpenERP le "
"agrega el \"prefijo exterior\" seguido por el \"prefijo internacional\"."
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid ""
"Prefix to dial to place outgoing calls. If you don't use a prefix to place "
"outgoing calls, leave empty."
msgstr ""
"Prefijo que marcar para realizar llamadas. Si usted no usa un prefijo para "
"realizar llamadas, dejar en blanco."
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid ""
"FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to "
"/etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr ""
"Contexto dialplan de FreeSWITCH desde la que las llamadas se realizarán. Se "
"refieren a /etc/freeswitch/dialplan/* en el servidor FreeSWITCH."
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "ID llamada que utiliza para las llamadas iniciadas por este usuario."
#. module: freeswitch_click2dial
#: model:ir.module.module,shortdesc:freeswitch_click2dial.module_meta_information
msgid "FreeSWITCH Click2dial"
msgstr "FreeSWITCH Click2dial"
#. module: freeswitch_click2dial
#: help:res.company,freeswitch_server_ids:0
msgid "List of FreeSWITCH servers."
msgstr "Lista de servidores de FreeSWITCH."
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "¡XML inválido para la definición de la vista!"
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr "Número de teléfono interno del usuario."
#. module: freeswitch_click2dial
#: help:freeswitch.server,national_prefix:0
msgid ""
"Prefix for national phone calls (don't include the 'out prefix'). For e.g., "
"in France, the phone numbers look like '01 41 98 12 42' : the National "
"prefix is '0'."
msgstr ""
"Prefijo para llamadas nacionales (sin incluir el prefijo 'exterior'). Por "
"ejemplo, en Francia, los números de teléfono parecen '01 41 98 12 42 \": el "
"prefijo nacional es '0 '."
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid ""
"TCP port on which the FreeSWITCH Event Socket listens. Defined in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr ""
"Puerto TCP en el que la interfaz de FreeSWITCH Manager escucha. Se define en "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml en FreeSWITCH."
#. module: freeswitch_click2dial
#: help:freeswitch.server,international_prefix:0
msgid ""
"Prefix to add to make international phone calls (don't include the 'out "
"prefix'). For e.g., in France, the International prefix is '00'."
msgstr ""
"Prefijo a añadir para hacer llamadas internacionales (no incluyen los "
"\"prefijo externo\"). Por ejemplo, en Francia, el prefijo internacional es "
"\"00\"."
#. module: freeswitch_click2dial
#: field:res.users,internal_number:0
msgid "Internal number"
msgstr "Número interno"
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH channel type"
msgstr "Tipo de canal de FreeSWITCH"
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out prefix"
msgstr "Prefijo de salida"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "TCP ports range from 1 to 65535"
msgstr "TCP puertos rango 1 a 65535"
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Phone : "
msgstr "Teléfono : "
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr "Compañía que utiliza el servidor FreeSWITCH."
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'out prefix' or leave empty"
msgstr "Sólo utilizar dígitos para el \"prefijo exterior\" o dejar en blanco"
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP addr. or DNS"
msgstr "Dirección IP o DNS FreeSWITCH"
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid ""
"Password that FreeSWITCH will use to communicate with the FreeSWITCH Event "
"Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr ""
"Contraseña que FreeSWITCH va a utilizar para comunicarse con la interfaz de "
"FreeSWITCH Manager. Se refieren a /etc/freeswitch/autoload_configs/event_socket.conf.xml en su servidor "
"FreeSWITCH."
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for 'international prefix'"
msgstr "Sólo utilizar dígitos para el \"prefijo internacional\""
#. module: freeswitch_click2dial
#: field:freeswitch.server,national_prefix:0
msgid "National prefix"
msgstr "Prefijo nacional"
#. module: freeswitch_click2dial
#: field:freeswitch.server,country_prefix:0
msgid "My country prefix"
msgstr "Prefijo de mi país"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: field:res.company,freeswitch_server_ids:0
msgid "FreeSWITCH servers"
msgstr "Servidores FreeSWITCH"
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH server name"
msgstr "Nombre servidor FreeSWITCH"
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid ""
"Amount of time (in seconds) FreeSWITCH will try to reach the user's phone "
"before hanging up."
msgstr ""
"Cantidad de tiempo (en segundos) FreeSWITCH intentará llegar a el teléfono del "
"usuario antes de colgar."
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid ""
"FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a "
"regular IP phone, the channel type is 'SIP'."
msgstr ""
"Tipo de canal de FreeSWITCH, que se utiliza en el dialplan de FreeSWITCH. Si el "
"usuario tiene un teléfono IP, el tipo de canal es \"SIP\"."
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'national prefix' or leave empty"
msgstr "Sólo utilizar dígitos para el 'prefijo nacional' o dejar en blanco"
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr "Puerto"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "You should enter a 'Wait time' value between 1 and 120 seconds"
msgstr ""
"Debe ingresar el valor de un \"tiempo de espera\" entre 1 y 120 segundos"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Can't resolve the DNS of the FreeSWITCH server : "
msgstr "No se puede resolver el DNS del servidor de FreeSWITCH: "
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Invalid phone number"
msgstr "Número de teléfono no válido"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The phone number is not written in valid international format. Example of "
"valid international format : +33 1 41 98 12 42"
msgstr ""
"El número de teléfono no está escrito en formato internacional válido. "
"Ejemplo de formato internacional válida: +33 1 41 98 12 42"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid national format."
msgstr "El número de teléfono no está escrito en el formato nacional válido."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid format."
msgstr "El número de teléfono no está escrito en el formato válido."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Error :"
msgstr "Error:"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "There is no phone number !"
msgstr "No hay un número de teléfono!"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No FreeSWITCH server configured for the current user."
msgstr "No hay ningún servidor FreeSWITCH configurado para el usuario actual."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No channel type configured for the current user."
msgstr "Ningún tipo de canal configurado para el usuario actual."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No internal phone number configured for the current user"
msgstr "No hay número de teléfono interno configurado para el usuario actual"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The connection from OpenERP to the FreeSWITCH server failed. Please check the "
"configuration on OpenERP and on FreeSWITCH."
msgstr ""
"La conexión de OpenERP al servidor de FreeSWITCH ha fallado. Compruebe la "
"configuración de OpenERP y de FreeSWITCH."

530
freeswitch_click2dial/i18n/fr.po

@ -0,0 +1,530 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * freeswitch_click2dial
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-25 21:43+0000\n"
"PO-Revision-Date: 2014-08-25 21:43+0000\n"
"Last-Translator: Alexis de Lattre <alexis.delattre@akretion.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket Password"
msgstr "Mot de passe Event Socket"
#. module: freeswitch_click2dial
#: field:freeswitch.server,active:0
msgid "Active"
msgstr "Actif"
#. module: freeswitch_click2dial
#: field:freeswitch.server,alert_info:0
msgid "Alert-Info SIP Header"
msgstr "En-tête SIP Alert-Info"
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid "Amount of time (in seconds) FreeSWITCH will try to reach the user's phone before hanging up."
msgstr "Temps (en secondes) pendant lequel FreeSWITCH essayera de joindre le téléphone de l'utilisateur avant d'abandonner."
#. module: freeswitch_click2dial
#: model:res.groups,name:freeswitch_click2dial.group_freeswitch_cid
msgid "FreeSWITCH CallerID"
msgstr "FreeSWITCH CallerID"
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH Channel Type"
msgstr "Type de canal FreeSWITCH"
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP address or DNS"
msgstr "Adresse IP ou DNS d'FreeSWITCH"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "FreeSWITCH Event Socket"
msgstr "FreeSWITCH Event Socket"
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH Server"
msgstr "Serveur FreeSWITCH"
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH Server Name"
msgstr "Nom du serveur FreeSWITCH"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "FreeSWITCH Server Search"
msgstr "Recherche de serveur FreeSWITCH"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
#: model:ir.ui.menu,name:freeswitch_click2dial.act_menu_fs_server
msgid "FreeSWITCH Servers"
msgstr "Serveurs FreeSWITCH"
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
msgstr "Type de canal FreeSWITCH, tel qu'utilisé dans le dialplan d'FreeSWITCH. Si l'utilisateur a un téléphone IP classique, le type de canal est 'SIP'."
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid "FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to /etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr "Contexte du dialplan d'FreeSWITCH depuis lequel les appels seront initiés. Cf /etc/freeswitch/dialplan/* sur le serveur FreeSWITCH."
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server on which the user's phone is connected. If you leave this field empty, it will use the first FreeSWITCH server of the user's company."
msgstr "Serveur FreeSWITCH sur lequel le téléphone de l'utilisateur est connecté. Si vous laissez ce champ vide, le premier serveur FreeSWITCH de la société de l'utilisateur sera utilisé."
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:26
#, python-format
msgid "BIG PB"
msgstr "BIG PB"
#. module: freeswitch_click2dial
#: field:res.users,cdraccount:0
msgid "CDR Account"
msgstr "Compte CDR"
#. module: freeswitch_click2dial
#: help:res.users,cdraccount:0
msgid "Call Detail Record (CDR) account used for billing this user."
msgstr "Compte CDR utilisé pour facturer cet utilisateur (CDR = Journal d'appel détaillé)."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:405
#: field:res.users,callerid:0
#, python-format
msgid "Caller ID"
msgstr "Identification de l'appelant"
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "'Caller ID' des appels passés par l'utilisateur."
#. module: freeswitch_click2dial
#: field:number.not.found,calling_number:0
msgid "Calling Number"
msgstr "Numéro appelant"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:310
#, python-format
msgid "Can't get calling number from FreeSWITCH.\n"
"Here is the error: '%s'"
msgstr "Le numéro de l'appelant n'a pas pu être récupéré auprès d'FreeSWITCH.\n"
"Voilà l'erreur : '%s'"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:481
#, python-format
msgid "Click to dial with FreeSWITCH failed.\n"
"Here is the error: '%s'"
msgstr "Echec du clic to dial avec FreeSWITCH.\n"
"Voilà l'erreur : '%s'"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_company
msgid "Companies"
msgstr "Sociétés"
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr "Société"
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr "Société qui utilise le serveur FreeSWITCH."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:255
#, python-format
msgid "Connection Test Failed!"
msgstr "Echec du test de connexion !"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:264
#, python-format
msgid "Connection Test Successfull!"
msgstr "Test de connexion réussi !"
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan Context"
msgstr "Contexte du dialplan"
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Dialplan Parameters"
msgstr "Paramètres du dialplan"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
#: constraint:res.users:0
msgid "Error message in raise"
msgstr "Error message in raise"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:109
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:114
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:119
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:124
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:133
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:191
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:212
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:218
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:238
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:308
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:413
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:432
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:444
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:480
#, python-format
msgid "Error:"
msgstr "Erreur :"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:25
#, python-format
msgid "Fail"
msgstr "Fail"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:256
#, python-format
msgid "Here is the error message: %s"
msgstr "Voilà le message d'erreur : %s"
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IP address or DNS name of the FreeSWITCH server."
msgstr "Adresse IP ou DNS du serveur FreeSWITCH."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:404
#: field:res.users,internal_number:0
#, python-format
msgid "Internal Number"
msgstr "Numéro interne"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:433
#, python-format
msgid "Missing phone number"
msgstr "Numéro de téléphone manquant"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:45
#, python-format
msgid "Moving to %s ID %d"
msgstr "Moving to %s ID %d"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:192
#, python-format
msgid "No FreeSWITCH server configured for the company '%s'."
msgstr "Aucun serveur FreeSWITCH n'est associé à la société '%s'."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:445
#, python-format
msgid "No callerID configured for the current user"
msgstr "Le callerID n'est pas configuré pour l'utilisateur courant"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:213
#, python-format
msgid "No channel type configured for the current user."
msgstr "Aucun type de canal n'est configuré pour l'utilisateur actuel."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:219
#, python-format
msgid "No resource name configured for the current user"
msgstr "Aucun nom de ressource n'a été renseigné pour l'utilisateur actuel"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:31
#, python-format
msgid "Number Not Found"
msgstr "Numéro introuvable"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_number_not_found
msgid "Number not found"
msgstr "Numéro introuvable"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:111
#, python-format
msgid "Only use digits for the '%s' on the FreeSWITCH server '%s'"
msgstr "N'utilisez que des chiffres pour le '%s' du serveur FreeSWITCH '%s'"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/xml/freeswitch_click2dial.xml:13
#, python-format
msgid "Open Caller"
msgstr "Ouvrir l'appelant"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_wizard_open_calling_partner
msgid "Open calling partner"
msgstr "Ouvrir le partenaire appelant"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:265
#, python-format
msgid "OpenERP can successfully login to the FreeSWITCH Event Socket."
msgstr "OpenERP s'authentifie avec succès à l'FreeSWITCH Event Socket."
#. module: freeswitch_click2dial
#: view:res.users:0
msgid "Optional FreeSWITCH Parameters - for experts only, can be left empty"
msgstr "Paramètres FreeSWITCH optionnels - pour les experts uniquement, peut être laissé vide"
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out Prefix"
msgstr "Préfixe de sortie"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_partner
msgid "Partner"
msgstr "Partenaire"
#. module: freeswitch_click2dial
#: help:number.not.found,to_update_partner_id:0
msgid "Partner on which the phone number will be written"
msgstr "Partenaire sur lequel le numéro de téléphone sera écrit"
#. module: freeswitch_click2dial
#: field:number.not.found,to_update_partner_id:0
msgid "Partner to Update"
msgstr "Partenaire à mettre à jour"
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid "Password that OpenERP will use to communicate with the FreeSWITCH Event Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr "Mot de passe qui sera utilisé par OpenERP pour communiquer avec l'FreeSWITCH Event Socket. Ce mot de passe est configuré dans le fichier /etc/freeswitch/autoload_configs/event_socket.conf.xml sur votre serveur FreeSWITCH."
#. module: freeswitch_click2dial
#: help:number.not.found,calling_number:0
msgid "Phone number of calling party that has been obtained from FreeSWITCH, in the format used by FreeSWITCH (not E.164)."
msgstr "Phone number of calling party that has been obtained from FreeSWITCH, in the format used by FreeSWITCH (not E.164)."
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr "Port"
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid "Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty."
msgstr "Préfixe à composer pour les appels vers l'extérieur. Si vous n'utilisez pas de préfixe pour les appels vers l'extérieur, laissez vide."
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:239
#, python-format
msgid "Problem in the request from OpenERP to FreeSWITCH. Here is the error message: %s"
msgstr "Problème dans la requête d'OpenERP vers FreeSWITCH. Voilà le message d'erreur : %s"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:403
#: field:res.users,resource:0
#, python-format
msgid "Resource Name"
msgstr "Nom de la ressource"
#. module: freeswitch_click2dial
#: help:res.users,resource:0
msgid "Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your FreeSWITCH 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."
msgstr "Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your FreeSWITCH 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."
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Server Name"
msgstr "Nom du serveur"
#. module: freeswitch_click2dial
#: help:freeswitch.server,alert_info:0
msgid "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."
msgstr "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."
#. module: freeswitch_click2dial
#: help:res.users,variable:0
msgid "Set a user-specific 'Variable' field in the FreeSWITCH Event Socket 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."
msgstr "Set a user-specific 'Variable' field in the FreeSWITCH Event Socket 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."
#. module: freeswitch_click2dial
#: help:res.users,alert_info:0
msgid "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."
msgstr "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."
#. module: freeswitch_click2dial
#: view:res.users:0
msgid "Standard FreeSWITCH Parameters"
msgstr "Paramètres FreeSWITCH standards"
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:44
#, python-format
msgid "Success"
msgstr "Succès"
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid "TCP port on which the FreeSWITCH Event Socket listens. Defined in /etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr "Port TCP sur lequel écoute l'interface du Manager FreeSWITCH. Cf /etc/freeswitch/autoload_configs/event_socket.conf.xml sur le serveur FreeSWITCH."
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Test Connection to FreeSWITCH"
msgstr "Test de connexion à FreeSWITCH"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:414
#, python-format
msgid "The '%s' for the user '%s' should only have ASCII caracters"
msgstr "Le '%s' pour l'utilisateur '%s' ne devrait contenir que des caractères ASCII"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:136
#, python-format
msgid "The '%s' should only have ASCII caracters for the FreeSWITCH server '%s'"
msgstr "Le '%s' ne doit contenir que des caractères ASCII pour le serveur FreeSWITCH '%s'"
#. module: freeswitch_click2dial
#: help:freeswitch.server,active:0
msgid "The active field allows you to hide the FreeSWITCH server without deleting it."
msgstr "Le champ Actif permet de cacher le serveur FreeSWITCH sans le supprimer."
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr "Numéro de téléphone interne de l'utilisateur."
#. module: freeswitch_click2dial
#: field:res.users,alert_info:0
msgid "User-specific Alert-Info SIP Header"
msgstr "En-tête SIP Alert-Info spécifique à l'utilisateur"
#. module: freeswitch_click2dial
#: field:res.users,dial_suffix:0
msgid "User-specific Dial Suffix"
msgstr "Suffixe d'appel spécifique à l'utilisateur"
#. module: freeswitch_click2dial
#: field:res.users,variable:0
msgid "User-specific Variable"
msgstr "Variable spécifique à l'utilisateur"
#. module: freeswitch_click2dial
#: help:res.users,dial_suffix:0
msgid "User-specific dial suffix such as aa=2wb for SCCP auto answer."
msgstr "User-specific dial suffix such as aa=2wb for SCCP auto answer."
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_users
msgid "Users"
msgstr "Utilisateurs"
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait Time (sec)"
msgstr "Temps d'attente (sec)"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:115
#, python-format
msgid "You should set a 'Wait time' value between 1 and 120 seconds for the FreeSWITCH server '%s'"
msgstr "Vous devez indiquer une valeur comprise entre 1 et 120 secondes pour le paramètre 'Temps d'attente' pour le serveur FreeSWITCH '%s'"
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:125
#, python-format
msgid "You should set a TCP port between 1 and 65535 for the FreeSWITCH server '%s'"
msgstr "Vous devez mettre un port TCP entre 1 et 65535 pour le serveur FreeSWITCH '%s'"
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_phone_common
msgid "phone.common"
msgstr "phone.common"

528
freeswitch_click2dial/i18n/freeswitch_click2dial.pot

@ -0,0 +1,528 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * freeswitch_click2dial
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-25 21:42+0000\n"
"PO-Revision-Date: 2014-08-25 21:42+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket Password"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,active:0
msgid "Active"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,alert_info:0
msgid "Alert-Info SIP Header"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid "Amount of time (in seconds) FreeSWITCH will try to reach the user's phone before hanging up."
msgstr ""
#. module: freeswitch_click2dial
#: model:res.groups,name:freeswitch_click2dial.group_freeswitch_cid
msgid "FreeSWITCH CallerID"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH Channel Type"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP address or DNS"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "FreeSWITCH Event Socket"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH Server"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH Server Name"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "FreeSWITCH Server Search"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
#: model:ir.ui.menu,name:freeswitch_click2dial.act_menu_fs_server
msgid "FreeSWITCH Servers"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid "FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to /etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server on which the user's phone is connected. If you leave this field empty, it will use the first FreeSWITCH server of the user's company."
msgstr ""
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:26
#, python-format
msgid "BIG PB"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,cdraccount:0
msgid "CDR Account"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,cdraccount:0
msgid "Call Detail Record (CDR) account used for billing this user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:405
#: field:res.users,callerid:0
#, python-format
msgid "Caller ID"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr ""
#. module: freeswitch_click2dial
#: field:number.not.found,calling_number:0
msgid "Calling Number"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:310
#, python-format
msgid "Can't get calling number from FreeSWITCH.\n"
"Here is the error: '%s'"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:481
#, python-format
msgid "Click to dial with FreeSWITCH failed.\n"
"Here is the error: '%s'"
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_company
msgid "Companies"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:255
#, python-format
msgid "Connection Test Failed!"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:264
#, python-format
msgid "Connection Test Successfull!"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan Context"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Dialplan Parameters"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
#: constraint:res.users:0
msgid "Error message in raise"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:109
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:114
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:119
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:124
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:133
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:191
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:212
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:218
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:238
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:308
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:413
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:432
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:444
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:480
#, python-format
msgid "Error:"
msgstr ""
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:25
#, python-format
msgid "Fail"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:256
#, python-format
msgid "Here is the error message: %s"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IP address or DNS name of the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:404
#: field:res.users,internal_number:0
#, python-format
msgid "Internal Number"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:433
#, python-format
msgid "Missing phone number"
msgstr ""
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:45
#, python-format
msgid "Moving to %s ID %d"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:192
#, python-format
msgid "No FreeSWITCH server configured for the company '%s'."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:445
#, python-format
msgid "No callerID configured for the current user"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:213
#, python-format
msgid "No channel type configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:219
#, python-format
msgid "No resource name configured for the current user"
msgstr ""
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:31
#, python-format
msgid "Number Not Found"
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_number_not_found
msgid "Number not found"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:111
#, python-format
msgid "Only use digits for the '%s' on the FreeSWITCH server '%s'"
msgstr ""
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/xml/freeswitch_click2dial.xml:13
#, python-format
msgid "Open Caller"
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_wizard_open_calling_partner
msgid "Open calling partner"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:265
#, python-format
msgid "OpenERP can successfully login to the FreeSWITCH Event Socket."
msgstr ""
#. module: freeswitch_click2dial
#: view:res.users:0
msgid "Optional FreeSWITCH Parameters - for experts only, can be left empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out Prefix"
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_partner
msgid "Partner"
msgstr ""
#. module: freeswitch_click2dial
#: help:number.not.found,to_update_partner_id:0
msgid "Partner on which the phone number will be written"
msgstr ""
#. module: freeswitch_click2dial
#: field:number.not.found,to_update_partner_id:0
msgid "Partner to Update"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid "Password that OpenERP will use to communicate with the FreeSWITCH Event Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: help:number.not.found,calling_number:0
msgid "Phone number of calling party that has been obtained from FreeSWITCH, in the format used by FreeSWITCH (not E.164)."
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid "Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:239
#, python-format
msgid "Problem in the request from OpenERP to FreeSWITCH. Here is the error message: %s"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:403
#: field:res.users,resource:0
#, python-format
msgid "Resource Name"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,resource:0
msgid "Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your FreeSWITCH 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."
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Server Name"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,alert_info:0
msgid "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."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,variable:0
msgid "Set a user-specific 'Variable' field in the FreeSWITCH Event Socket 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,alert_info:0
msgid "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."
msgstr ""
#. module: freeswitch_click2dial
#: view:res.users:0
msgid "Standard FreeSWITCH Parameters"
msgstr ""
#. module: freeswitch_click2dial
#. openerp-web
#: code:addons/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js:44
#, python-format
msgid "Success"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid "TCP port on which the FreeSWITCH Event Socket listens. Defined in /etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
msgid "Test Connection to FreeSWITCH"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:414
#, python-format
msgid "The '%s' for the user '%s' should only have ASCII caracters"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:136
#, python-format
msgid "The '%s' should only have ASCII caracters for the FreeSWITCH server '%s'"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,active:0
msgid "The active field allows you to hide the FreeSWITCH server without deleting it."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,alert_info:0
msgid "User-specific Alert-Info SIP Header"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,dial_suffix:0
msgid "User-specific Dial Suffix"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,variable:0
msgid "User-specific Variable"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,dial_suffix:0
msgid "User-specific dial suffix such as aa=2wb for SCCP auto answer."
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_res_users
msgid "Users"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait Time (sec)"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:115
#, python-format
msgid "You should set a 'Wait time' value between 1 and 120 seconds for the FreeSWITCH server '%s'"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:125
#, python-format
msgid "You should set a TCP port between 1 and 65535 for the FreeSWITCH server '%s'"
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.model,name:freeswitch_click2dial.model_phone_common
msgid "phone.common"
msgstr ""

410
freeswitch_click2dial/i18n/hr.po

@ -0,0 +1,410 @@
# Croatian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-09-10 20:38+0000\n"
"PO-Revision-Date: 2011-12-19 15:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-04-17 05:22+0000\n"
"X-Generator: Launchpad (build 15099)\n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket password"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,international_prefix:0
msgid "International prefix"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IPv4 address or DNS name of the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Dial"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'country prefix'"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server on which the user's phone is connected."
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
msgid "FreeSWITCH Servers"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,callerid:0
msgid "Caller ID"
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.module.module,description:freeswitch_click2dial.module_meta_information
msgid ""
"The module adds dial button in partner address\n"
"so that you can directly dial a phone number through FreeSWITCH.\n"
"Documentation is available on the Arkretion Web site http://[TODO]"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,name:0
msgid "FreeSWITCH server name."
msgstr ""
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Mobile : "
msgstr ""
#. module: freeswitch_click2dial
#: view:res.company:0
msgid "FreeSWITCH servers for click2dial"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait time (sec)"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan context"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,country_prefix:0
msgid ""
"Phone prefix of the country where the FreeSWITCH server is located. For e.g. "
"the phone prefix for France is '33'. If the phone number to dial starts with "
"the 'My country prefix', OpenERP will remove the country prefix from the "
"phone number and add the 'out prefix' followed by the 'national prefix'. If "
"the phone number to dial doesn't start with the 'My country prefix', OpenERP "
"will add the 'out prefix' followed by the 'international prefix'."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid ""
"Prefix to dial to place outgoing calls. If you don't use a prefix to place "
"outgoing calls, leave empty."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid ""
"FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to "
"/etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.module.module,shortdesc:freeswitch_click2dial.module_meta_information
msgid "FreeSWITCH Click2dial"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.company,freeswitch_server_ids:0
msgid "List of FreeSWITCH servers."
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,national_prefix:0
msgid ""
"Prefix for national phone calls (don't include the 'out prefix'). For e.g., "
"in France, the phone numbers look like '01 41 98 12 42' : the National "
"prefix is '0'."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid ""
"TCP port on which the FreeSWITCH Event Socket listens. Defined in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,international_prefix:0
msgid ""
"Prefix to add to make international phone calls (don't include the 'out "
"prefix'). For e.g., in France, the International prefix is '00'."
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,internal_number:0
msgid "Internal number"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH channel type"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out prefix"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "TCP ports range from 1 to 65535"
msgstr ""
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Phone : "
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'out prefix' or leave empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP addr. or DNS"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid ""
"Password that FreeSWITCH will use to communicate with the FreeSWITCH Event "
"Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for 'international prefix'"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,national_prefix:0
msgid "National prefix"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,country_prefix:0
msgid "My country prefix"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: field:res.company,freeswitch_server_ids:0
msgid "FreeSWITCH servers"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH server name"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid ""
"Amount of time (in seconds) FreeSWITCH will try to reach the user's phone "
"before hanging up."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid ""
"FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a "
"regular IP phone, the channel type is 'SIP'."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'national prefix' or leave empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "You should enter a 'Wait time' value between 1 and 120 seconds"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Can't resolve the DNS of the FreeSWITCH server : "
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Invalid phone number"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The phone number is not written in valid international format. Example of "
"valid international format : +33 1 41 98 12 42"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid national format."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid format."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Error :"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "There is no phone number !"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No FreeSWITCH server configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No channel type configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No internal phone number configured for the current user"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The connection from OpenERP to the FreeSWITCH server failed. Please check the "
"configuration on OpenERP and on FreeSWITCH."
msgstr ""

421
freeswitch_click2dial/i18n/pt_BR.po

@ -0,0 +1,421 @@
# Brazilian Portuguese translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-09-10 20:38+0000\n"
"PO-Revision-Date: 2012-01-30 18:27+0000\n"
"Last-Translator: Rafael Sales - http://www.tompfs.com.br <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-04-17 05:22+0000\n"
"X-Generator: Launchpad (build 15099)\n"
#. module: freeswitch_click2dial
#: field:freeswitch.server,password:0
msgid "Event Socket password"
msgstr "Senha Event Socket"
#. module: freeswitch_click2dial
#: field:freeswitch.server,international_prefix:0
msgid "International prefix"
msgstr "Prefixo Internacional"
#. module: freeswitch_click2dial
#: help:freeswitch.server,ip_address:0
msgid "IPv4 address or DNS name of the FreeSWITCH server."
msgstr "Endereço IPv4 ou o nome DNS do servidor FreeSWITCH."
#. module: freeswitch_click2dial
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"O nome do objeto deve iniciar com x_ e não conter nenhum caracter especial."
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Dial"
msgstr "Discar"
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'country prefix'"
msgstr "Usar somente dígitos para o 'prefixo do país '"
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server"
msgstr "Servidor FreeSWITCH"
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_server_id:0
msgid "FreeSWITCH server on which the user's phone is connected."
msgstr ""
#. module: freeswitch_click2dial
#: model:ir.actions.act_window,name:freeswitch_click2dial.action_freeswitch_server
#: model:ir.model,name:freeswitch_click2dial.model_freeswitch_server
msgid "FreeSWITCH Servers"
msgstr "Servidores FreeSWITCH"
#. module: freeswitch_click2dial
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Nome do modelo Inválido na definição da ação"
#. module: freeswitch_click2dial
#: field:res.users,callerid:0
msgid "Caller ID"
msgstr "Identificação da Chamada"
#. module: freeswitch_click2dial
#: model:ir.module.module,description:freeswitch_click2dial.module_meta_information
msgid ""
"The module adds dial button in partner address\n"
"so that you can directly dial a phone number through FreeSWITCH.\n"
"Documentation is available on the Arkretion Web site http://[TODO]"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,name:0
msgid "FreeSWITCH server name."
msgstr "Nome do Servidor FreeSWITCH"
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Mobile : "
msgstr ""
#. module: freeswitch_click2dial
#: view:res.company:0
msgid "FreeSWITCH servers for click2dial"
msgstr "Servidores FreeSWITCH para o click2dial"
#. module: freeswitch_click2dial
#: field:freeswitch.server,wait_time:0
msgid "Wait time (sec)"
msgstr "Tempo de espera em (seg)"
#. module: freeswitch_click2dial
#: field:freeswitch.server,context:0
msgid "Dialplan context"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,company_id:0
msgid "Company"
msgstr "Empresa"
#. module: freeswitch_click2dial
#: help:freeswitch.server,country_prefix:0
msgid ""
"Phone prefix of the country where the FreeSWITCH server is located. For e.g. "
"the phone prefix for France is '33'. If the phone number to dial starts with "
"the 'My country prefix', OpenERP will remove the country prefix from the "
"phone number and add the 'out prefix' followed by the 'national prefix'. If "
"the phone number to dial doesn't start with the 'My country prefix', OpenERP "
"will add the 'out prefix' followed by the 'international prefix'."
msgstr ""
"Prefixo de telefone do país onde o servidor FreeSWITCH está localizado. Por "
"exemplo, para o prefixo de telefone no Brasil você deve utilizar '55 '. Se o "
"número de telefone à discar começa com \"Este prefixo de país\", OpenERP irá "
"remover o prefixo do país a partir do número de telefone e adicionar o "
"'prefixo de saída' seguido pelo 'prefixo nacional \". Se o número de "
"telefone para discar não começa com o \"Meu prefixo do país\", OpenERP irá "
"adicionar o 'out prefixo' seguido pelo 'prefixo internacional \"."
#. module: freeswitch_click2dial
#: help:freeswitch.server,out_prefix:0
msgid ""
"Prefix to dial to place outgoing calls. If you don't use a prefix to place "
"outgoing calls, leave empty."
msgstr ""
"Prefixo para fazer chamadas de saída. Se você não usar um prefixo para fazer "
"chamadas de saída, deixe vazio."
#. module: freeswitch_click2dial
#: help:freeswitch.server,context:0
msgid ""
"FreeSWITCH dialplan context from which the calls will be made; e.g. 'XML default'. Refer to "
"/etc/freeswitch/dialplan/* on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "ID de Chamada utilizado para as chamadas iniciadas por esse usuário."
#. module: freeswitch_click2dial
#: model:ir.module.module,shortdesc:freeswitch_click2dial.module_meta_information
msgid "FreeSWITCH Click2dial"
msgstr "FreeSWITCH Click2dial"
#. module: freeswitch_click2dial
#: help:res.company,freeswitch_server_ids:0
msgid "List of FreeSWITCH servers."
msgstr "Lista de Servidores FreeSWITCH"
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SIP"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "FreeTDM"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Skinny"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "H323"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "XMPP/JINGLE"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "GSM SMS/Voice"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "SkypeOpen"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Khomp"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Opal Multi-protocol"
msgstr ""
#. module: freeswitch_click2dial
#: selection:res.users,freeswitch_chan_type:0
msgid "Portaudio"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "XML inválido para Arquitetura da View"
#. module: freeswitch_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,national_prefix:0
msgid ""
"Prefix for national phone calls (don't include the 'out prefix'). For e.g., "
"in France, the phone numbers look like '01 41 98 12 42' : the National "
"prefix is '0'."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,port:0
msgid ""
"TCP port on which the FreeSWITCH Event Socket listens. Defined in "
"/etc/freeswitch/autoload_configs/event_socket.conf.xml on FreeSWITCH."
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,international_prefix:0
msgid ""
"Prefix to add to make international phone calls (don't include the 'out "
"prefix'). For e.g., in France, the International prefix is '00'."
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,internal_number:0
msgid "Internal number"
msgstr ""
#. module: freeswitch_click2dial
#: field:res.users,freeswitch_chan_type:0
msgid "FreeSWITCH channel type"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,out_prefix:0
msgid "Out prefix"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "TCP ports range from 1 to 65535"
msgstr ""
#. module: freeswitch_click2dial
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Phone : "
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,company_id:0
msgid "Company who uses the FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'out prefix' or leave empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,ip_address:0
msgid "FreeSWITCH IP addr. or DNS"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,password:0
msgid ""
"Password that FreeSWITCH will use to communicate with the FreeSWITCH Event "
"Socket. Refer to /etc/freeswitch/autoload_configs/event_socket.conf.xml on your FreeSWITCH server."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for 'international prefix'"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,national_prefix:0
msgid "National prefix"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,country_prefix:0
msgid "My country prefix"
msgstr ""
#. module: freeswitch_click2dial
#: view:freeswitch.server:0
#: field:res.company,freeswitch_server_ids:0
msgid "FreeSWITCH servers"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,name:0
msgid "FreeSWITCH server name"
msgstr ""
#. module: freeswitch_click2dial
#: help:freeswitch.server,wait_time:0
msgid ""
"Amount of time (in seconds) FreeSWITCH will try to reach the user's phone "
"before hanging up."
msgstr ""
#. module: freeswitch_click2dial
#: help:res.users,freeswitch_chan_type:0
msgid ""
"FreeSWITCH channel type, as used in the FreeSWITCH dialplan. If the user has a "
"regular IP phone, the channel type is 'SIP'."
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "Only use digits for the 'national prefix' or leave empty"
msgstr ""
#. module: freeswitch_click2dial
#: field:freeswitch.server,port:0
msgid "Port"
msgstr ""
#. module: freeswitch_click2dial
#: constraint:freeswitch.server:0
msgid "You should enter a 'Wait time' value between 1 and 120 seconds"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Can't resolve the DNS of the FreeSWITCH server : "
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Invalid phone number"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The phone number is not written in valid international format. Example of "
"valid international format : +33 1 41 98 12 42"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid national format."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "The phone number is not written in valid format."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "Error :"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "There is no phone number !"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No FreeSWITCH server configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No channel type configured for the current user."
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid "No internal phone number configured for the current user"
msgstr ""
#. module: freeswitch_click2dial
#: code:addons/freeswitch_click2dial/freeswitch_click2dial.py:0
#, python-format
msgid ""
"The connection from OpenERP to the FreeSWITCH server failed. Please check the "
"configuration on OpenERP and on FreeSWITCH."
msgstr ""

1
freeswitch_click2dial/requirements.txt

@ -0,0 +1 @@
FreeSWITCH-ESL-Python

51
freeswitch_click2dial/res_users_view.xml

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
© 2010-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
Inherit res_users view to add the click2dial-related fields
-->
<odoo>
<data>
<record id="view_users_form" model="ir.ui.view">
<field name="name">freeswitch_click2dial.res.users.form</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base_phone.view_users_form"/>
<field name="arch" type="xml">
<page name="phone" position="attributes">
<attribute name="invisible">0</attribute>
</page>
<group name="phone-preferences" position="after">
<group name="freeswitch-standard" string="Standard FreeSWITCH Parameters">
<field name="freeswitch_chan_type"/>
<field name="resource"/>
<field name="internal_number"/>
<field name="callerid"/>
<field name="freeswitch_server_id"/>
</group>
<group name="freeswitch-optional" string="Optional FreeSWITCH Parameters - for experts only, can be left empty">
<field name="cdraccount"/>
<field name="dial_suffix"/>
<field name="alert_info"/>
<field name="variable"/>
</group>
</group>
</field>
</record>
<record id="view_users_form_simple_modif" model="ir.ui.view">
<field name="name">freeswitch_click2dial.users.preferences.form</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base_phone.view_users_form_simple_modif"/>
<field name="arch" type="xml">
<group name="phone" position="attributes">
<attribute name="invisible">0</attribute>
</group>
</field>
</record>
</data>
</odoo>

275
freeswitch_click2dial/scripts/get_caller_name.py

@ -0,0 +1,275 @@
#!/usr/bin/python
# -*- encoding: utf-8 -*-
"""
Name lookup in OpenERP for incoming and outgoing calls with an
FreeSWITCH system
This script is designed to be used as an WSGI script on the same server
as OpenERP/Odoo.
Relevant documentation"
https://wiki.freeswitch.org/wiki/Mod_cidlookup
https://freeswitch.org/confluence/display/FREESWITCH/mod_cidlookup
Apache Configuration:
Listen 8080
<VirtualHost *:8080>
WSGIScriptAlias /wscgi-bin/ /var/www/wscgi-bin/
ServerAdmin webmaster@localhost
# ...
</VirtualHost>
FreeSWITCH mod_cidlookup configuration:
<configuration name="cidlookup.conf" description="cidlookup Configuration">
<settings>
<param name="url" value="https://openerp.localdomain/wscgi-bin/get_caller_name.py?name=${caller_id_name}&number=${caller_id_number}&notify=1004,1007"/>
<param name="cache" value="false"/>
</settings>
</configuration>
If you want geoloc, add &geoloc=true to the end (it is going to be slow).
Notify should be the internal number of the called parties. This should be
comma (,) delimited, not :_: delimited. It is up to you to format the
extensions list appropriately. The persons who are at extensions in the
notify list will receive a poppup if so configured and if they are logged in.
From the dialplan, do something like this <action application="set"
data="effective_caller_id_name=${cidlookup(${caller_id_number})}"/>.
If you are not using FreeTDM modules for the incoming line, doing
<action application="pre_answer"/> before the cidlookup is a VERY good idea.
If you are wishing to set the callee name, <action application="export"
data="callee_id_name=${cidlookup($1)}" />
Of course, you should adapt this example to the FreeSWITCH server you are
using. This is especially true of the options variable in the application
function. The user (by number id, not name) that is used to connect to
OpenERP/Odoo must have "Phone CallerID" access rights. That may also require
"Technical Features" rights.
"""
__author__ = "Trever Adams <trever.adams@gmail.com>"
__date__ = "May 2016"
__version__ = "0.5"
# Copyright (C) 2014-2015 Trever L. Adams <trever.adams@gmail.com>
# Copyright (C) 2010-2014 Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
sys.path.append('.')
import xmlrpclib
from cgi import parse_qs, escape
import unicodedata
# Name that will be displayed if there is no match
# and no geolocalisation
not_found_name = "Not in OpenERP"
# Set to 1 for debugging output
verbose = 0
def stdout_write(string):
'''Wrapper on sys.stdout.write'''
if verbose == 1:
sys.stdout.write(string)
sys.stdout.flush()
return True
def stderr_write(string):
'''Wrapper on sys.stderr.write'''
if verbose == 1:
sys.stderr.write(string)
sys.stderr.flush()
return True
def geolocate_phone_number(number, my_country_code, lang):
import phonenumbers
from phonenumbers import geocoder
res = ''
phonenum = phonenumbers.parse(number, my_country_code.upper())
city = phonenumbers.geocoder.description_for_number(phonenum, lang.lower())
country_code = phonenumbers.region_code_for_number(phonenum)
# We don't display the country name when it's my own country
if country_code == my_country_code.upper():
if city:
res = city
else:
# Convert country code to country name
country = phonenumbers.geocoder._region_display_name(
country_code, lang.lower())
if country and city:
res = country + ' ' + city
elif country and not city:
res = country
return res
def convert_to_ascii(my_unicode):
'''Convert to ascii, with clever management of accents (é -> e, è -> e)'''
if isinstance(my_unicode, unicode):
my_unicode_with_ascii_chars_only = ''.join((
char for char in unicodedata.normalize('NFD', my_unicode)
if unicodedata.category(char) != 'Mn'))
return str(my_unicode_with_ascii_chars_only)
# If the argument is already of string type, return it with the same value
elif isinstance(my_unicode, str):
return my_unicode
else:
return False
def main(name, phone_number, options):
# print 'options = %s' % options
# If we already have a "True" caller ID name
# i.e. not just digits, but a real name, then we don't try to
# connect to OpenERP or geoloc, we just keep it
if (
name and
not name.isdigit() and
name.lower()
not in ['freeswitch', 'unknown', 'anonymous', 'unavailable']):
stdout_write('Incoming CallerID name is %s\n' % name)
stdout_write('As it is a real name, we do not change it\n')
return name
if not isinstance(phone_number, str):
stdout_write('Phone number is empty\n')
exit(0)
# Match for particular cases and anonymous phone calls
# To test anonymous call in France, dial 3651 + number
if not phone_number.isdigit():
stdout_write(
'Phone number (%s) is not a digit\n' % phone_number)
exit(0)
stdout_write('Phone number = %s\n' % phone_number)
res = name
# Yes, this script can be used without "-s openerp_server" !
if options["server"]:
if options["ssl"]:
stdout_write(
'Starting XML-RPC secure request on OpenERP %s:%s\n'
% (options["server"], str(options["port"])))
protocol = 'https'
else:
stdout_write(
'Starting clear XML-RPC request on OpenERP %s:%s\n'
% (options["server"], str(options["port"])))
protocol = 'http'
sock = xmlrpclib.ServerProxy(
'%s://%s:%s/xmlrpc/object'
% (protocol, options["server"], str(options["port"])))
try:
if options["notify"]:
res = sock.execute(
options["database"], options["user"], options["password"],
'phone.common', 'incall_notify_by_extension',
phone_number, options["notify"])
stdout_write('Calling incall_notify_by_extension\n')
else:
res = sock.execute(
options["database"], options["user"], options["password"],
'phone.common', 'get_name_from_phone_number',
phone_number)
stdout_write('Calling get_name_from_phone_number\n')
stdout_write('End of XML-RPC request on OpenERP\n')
if not res:
stdout_write('Phone number not found in OpenERP\n')
except:
stdout_write('Could not connect to OpenERP %s\n'
% options["database"])
res = False
# To simulate a long execution of the XML-RPC request
# import time
# time.sleep(5)
# Function to limit the size of the name
if res:
if len(res) > options["max_size"]:
res = res[0:options["max_size"]]
elif options["geoloc"]:
# if the number is not found in OpenERP, we try to geolocate
stdout_write(
'Trying to geolocate with country %s and lang %s\n'
% (options["country"], options["lang"]))
res = geolocate_phone_number(
phone_number, options["country"], options["lang"])
else:
# if the number is not found in OpenERP and geoloc is off,
# we put 'not_found_name' as Name
res = not_found_name
# All SIP phones should support UTF-8...
# but in case you have analog phones over TDM
# or buggy phones, you should use the command line option --ascii
if options["ascii"]:
res = convert_to_ascii(res)
stdout_write('Name = %s\n' % res)
return res
def application(environ, start_response):
output = ""
name = False
options = {}
options["server"] = "127.0.0.1"
options["port"] = 8069
options["database"] = "test"
options["user"] = 1
options["password"] = "admin"
options["geoloc"] = True
options["country"] = "US"
options["lang"] = "en"
options["ssl"] = False
options["ascii"] = True
options["max_size"] = 40
parameters = parse_qs(environ.get('QUERY_STRING', ''))
if 'number' in parameters:
number = escape(parameters['number'][0])
if 'name' in parameters:
name = escape(parameters['name'][0])
if 'notify' in parameters:
options["notify"] = []
for item in parameters['notify'][0].split(','):
options["notify"].append(escape(item))
stdout_write(
'Trying to notify %s\n' % options["notify"])
else:
options["notify"] = False
if 'geoloc' in parameters:
options["geoloc"] = True
else:
options["geoloc"] = False
output += main(name if name else False, number, options)
status = '200 OK'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]

3
freeswitch_click2dial/security/ir.model.access.csv

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
ir_model_access_freeswitch_server_user,Read access on freeswitch.server,model_freeswitch_server,base.group_user,1,0,0,0
ir_model_access_freeswitch_server_system,Full rights on freeswitch.server,model_freeswitch_server,base.group_system,1,1,1,1

BIN
freeswitch_click2dial/static/description/icon.png

After

Width: 64  |  Height: 64  |  Size: 5.2 KiB

26
freeswitch_click2dial/static/src/css/freeswitch_click2dial.css

@ -0,0 +1,26 @@
/*
© 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
*/
.openerp .oe_topbar_item.oe_topbar_open_caller{
padding: 0px;
width: 32px;
height: 32px;
}
.openerp .oe_topbar_item.oe_topbar_open_caller button{
position: relative;
top: -3px;
box-sizing: border-box;
border: none;
box-shadow: none;
color: white;
background: none;
text-shadow: 0px 1px 2px black;
width: 32px;
height: 32px;
padding: 0px;
margin: 0px
border-radius: 0px;
}

96
freeswitch_click2dial/static/src/js/freeswitch_click2dial.js

@ -0,0 +1,96 @@
/* © 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
© 2015-2016 Juris Malinens (port to v9)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
odoo.define('freeswitch_click2dial.click2dial', function (require) {
"use strict";
var UserMenu = require('web.UserMenu');
var WebClient = require('web.WebClient');
var web_client = require('web.web_client');
var Widget = require('web.Widget');
var core = require('web.core');
var _t = core._t;
var click2dial = {};
click2dial.OpenCaller = Widget.extend({
template: 'freeswitch_click2dial.OpenCaller',
start: function () {
this.$('#freeswitch-open-caller').on(
'click', this.on_open_caller);
this._super();
},
on_open_caller: function (event) {
event.stopPropagation();
var self = this;
self.rpc('/freeswitch_click2dial/get_record_from_my_channel', {}).done(function(r) {
// console.log('RESULT RPC r='+r);
// console.log('RESULT RPC type r='+typeof r);
// console.log('RESULT RPC isNaN r='+isNaN(r));
if (r === false) {
self.do_warn(
_t('Failure'),
_t('Problem in the connection to FreeSWITCH'),
false);
}
else if (typeof r == 'string' && isNaN(r)) {
self.do_warn(
r,
_t('The calling number is not a phone number!'),
false);
}
else if (typeof r == 'string') {
var action = {
name: _t('Number Not Found'),
type: 'ir.actions.act_window',
res_model: 'number.not.found',
view_mode: 'form',
views: [[false, 'form']],
target: 'new',
context: {'default_calling_number': r},
};
web_client.action_manager.do_action(action);
}
else if (typeof r == 'object' && r.length == 3) {
self.do_notify( // Not working
_t('Success'),
_t('Moving to %s ID %d', r[0], r[1]),
false);
var action = {
type: 'ir.actions.act_window',
res_model: r[0],
res_id: r[1],
view_mode: 'form,tree',
views: [[false, 'form']],
/* If you want to make it work with the 'web' module
of Odoo Enterprise edition, you have to change the line
target: 'current',
to:
target: 'new',
If you want to use target: 'current', with web/enterprise,
you have to reload the Web page just after */
target: 'current',
context: {},
};
web_client.action_manager.do_action(action);
}
});
},
});
UserMenu.include({
do_update: function(){
this._super.apply(this, arguments);
this.update_promise.then(function() {
var freeswitch_button = new click2dial.OpenCaller();
// attach the phone logo/button to the systray
freeswitch_button.appendTo($('.oe_systray'));
});
},
});
});

24
freeswitch_click2dial/static/src/xml/freeswitch_click2dial.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
© 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<template>
<!-- Add phone button in top right menu for "Open Caller" -->
<t t-name="freeswitch_click2dial.OpenCaller">
<li class="oe_topbar_item oe_topbar_open_caller"
title="Open Caller">
<a id="freeswitch-open-caller" href="#" class="fa fa-phone"/>
</li>
</t>
<!-- Add Dial button in phone widget for click2dial feature -->
<t t-extend="FieldPhone">
<t t-jquery="a.oe_form_uri" t-operation="after">
<a id="click2dial" href="#" class="oe_bold"/>
</t>
</t>
</template>

19
freeswitch_click2dial/web_freeswitch_click2dial.xml

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
© 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<data>
<template id="assets_backend" name="freeswitch_click2dial assets"
inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript"
src="/freeswitch_click2dial/static/src/js/freeswitch_click2dial.js"></script>
</xpath>
</template>
</data>
</odoo>

1
setup/freeswitch_click2dial/odoo_addons/__init__.py

@ -0,0 +1 @@
__import__('pkg_resources').declare_namespace(__name__)

1
setup/freeswitch_click2dial/odoo_addons/freeswitch_click2dial

@ -0,0 +1 @@
../../../freeswitch_click2dial

6
setup/freeswitch_click2dial/setup.py

@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
Loading…
Cancel
Save