Trever L. Adams
8 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