Trever L. Adams
9 years ago
29 changed files with 4607 additions and 2 deletions
-
2.travis.yml
-
3README.md
-
24base_phone_popup/popup.py
-
138freeswitch_click2dial/README.rst
-
4freeswitch_click2dial/__init__.py
-
28freeswitch_click2dial/__openerp__.py
-
18freeswitch_click2dial/controller.py
-
401freeswitch_click2dial/freeswitch_click2dial.py
-
39freeswitch_click2dial/freeswitch_click2dial_demo.xml
-
85freeswitch_click2dial/freeswitch_server_view.xml
-
411freeswitch_click2dial/i18n/bg.po
-
615freeswitch_click2dial/i18n/de.po
-
449freeswitch_click2dial/i18n/es.po
-
530freeswitch_click2dial/i18n/fr.po
-
528freeswitch_click2dial/i18n/freeswitch_click2dial.pot
-
410freeswitch_click2dial/i18n/hr.po
-
421freeswitch_click2dial/i18n/pt_BR.po
-
1freeswitch_click2dial/requirements.txt
-
51freeswitch_click2dial/res_users_view.xml
-
275freeswitch_click2dial/scripts/get_caller_name.py
-
3freeswitch_click2dial/security/ir.model.access.csv
-
BINfreeswitch_click2dial/static/description/icon.png
-
26freeswitch_click2dial/static/src/css/freeswitch_click2dial.css
-
96freeswitch_click2dial/static/src/js/freeswitch_click2dial.js
-
24freeswitch_click2dial/static/src/xml/freeswitch_click2dial.xml
-
19freeswitch_click2dial/web_freeswitch_click2dial.xml
-
1setup/freeswitch_click2dial/odoo_addons/__init__.py
-
1setup/freeswitch_click2dial/odoo_addons/freeswitch_click2dial
-
6setup/freeswitch_click2dial/setup.py
@ -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. |
|||
|
@ -0,0 +1,4 @@ |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
from . import freeswitch_click2dial |
|||
from . import controller |
@ -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, |
|||
} |
@ -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 |
@ -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 |
@ -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=<Bellcore-dr5></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 <0141981242></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 <0141984212></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> |
|||
|
@ -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> |
@ -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 "" |
@ -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" |
|||
|
|||
|
@ -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." |
@ -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" |
|||
|
@ -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 "" |
|||
|
@ -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 "" |
@ -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 "" |
@ -0,0 +1 @@ |
|||
FreeSWITCH-ESL-Python |
@ -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> |
@ -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}¬ify=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] |
@ -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 |
After Width: 64 | Height: 64 | Size: 5.2 KiB |
@ -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; |
|||
} |
@ -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')); |
|||
}); |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -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> |
@ -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> |
@ -0,0 +1 @@ |
|||
__import__('pkg_resources').declare_namespace(__name__) |
@ -0,0 +1 @@ |
|||
../../../freeswitch_click2dial |
@ -0,0 +1,6 @@ |
|||
import setuptools |
|||
|
|||
setuptools.setup( |
|||
setup_requires=['setuptools-odoo'], |
|||
odoo_addon=True, |
|||
) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue