Администраторы группы

  • Аватар

Модераторы группы

  • Аватар

Разработка Vtiger CRM

Открытая группа активность: 22 ч., 44 мин. назад

Обсуждаем вопросы доработки существующих и создания новых модулей для SalesPlatform Vtiger CRM.

Доработка asterisk-connector Обрезание номера до 9 цифр [РЕШЕНО] (записей: 7)

← Форум группы   Все форумы
  • Аватар Max - 2 г., 2 мес. назад:

    Есть проблема – у нас в СРМ все номера заносились с первой цифрой «8″, т.к. некому было немного пропатчить астериск чтобы он понимал набор «+7″, а нужно было чтобы работал click-to-call. Астериск-коннектор входящие номера выхватывает из астериска, но в них первой цифрой стоит «7″ (что вполне логично) и поэтому не привязывает входящие звонки к клиентам, в карточках которых номера занесены с первой цифрой «8″. Как можно решить проблему?
    В свое время столкнувшись с подобным в скрипте на php, который подсовывал астериску callerid из БД vtiger для отображения на телефоне звонящего, просто обрезали перед поиском по бд первую цифру (в моем случае обрезалась бы «7″) и по базе искали уже последние 9 цифр номера и в этом случае не имело значения, как именно занесен номер – с «7″ или «8″ в начале.
    Уважаемые разработчики, пожалуйста, включите в следующую версию asterisk connector возможность настройки количества последних цифр номера (если память не изменяет, то на php это делали через trim, как на яве – я не в курсе), по которым будет происходить идентификация звонящего и занесение инфы о звонке в asterisk connector.
    Сейчас проблему, думаю, решим правкой первых цифр занесенных в БД номеров (2500 контрагентов и 3000 контактов) и корректировкой астериска, но такая возможность, на мой взгляд, тоже была бы полезна, потому что иногда номера даже без кодов в БД заносят.

  • Аватар Сергей - 2 г., 2 мес. назад:

    Может поможет эта конструкция в Диалплане:
    в файле /etc/asterisk/extensions_custom.conf добавить
    [from-gsm]
    exten => _.,1,Set(CALLERID(all)=${CALLERID(name)} ) ;тут можно менять значение под ваши задачи
    exten => _.,n,Goto(from-trunk,${EXTEN},1)

    Контекст from-gsm прописать на gsm линии или на тех линиях, где оператор передает +7хххххххххх

  • Аватар Max - 2 г., 2 мес. назад:

    Сейчас немного поэкспериментировал и выяснил, что, к сожалению, модуль asteriskconnector если получает номер не полностью, то он его не «узнает». Т.е. он его просто не находит в CRM. Один и тот же номер когда получает полностью в формате 8XXXXXXXXXX – узнает, когда «обрезанным» без первой цифры «8″ (XXXXXXXXXX) – уже не узнает. Также поиск идет только по номерам из карточек контактов, а номера, записанные в карточке контрагентов, почему-то в поиске не участвуют.
    Разработчики, это как-то можно поправить??? Например, добавить в файл настроек модуля asteriskconnector количество цифр, по которым будет искаться номер в БД.
    Как-то можно asteriskconnector допилить самостоятельно???
    P.S.
    Кому надо, обрезалка номера до 10 цифр с конца
    [kastracia]
    exten => s,1,Set(CALLERID(num)=${CALLERID(num):-10})
    exten => s,n,Goto(from-trunk,${EXTEN},1)
    UPD. Матчасть учить надо – «кастратор» тут не нужен – все что надо уже есть в модуле asteriskconnector. в описании http://salesplatform.ru/wiki/index.php/SalesPlatform_vtiger_crm_620_%D0%9C%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80_PBX#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_SalesPlatform_Asterisk_Connector все написано.
    дистрибутиве SalesPlatform Vtiger CRM исправлена логика определения клиента по номеру – если длинна номера телефона больше или равна 10 цифрам, то сравнение идет по этим 10 цифрам (Например: +79117775390 и 89117775390 будут идентичны), если длина номера меньше 10 цифр используется точное сравнение номеров. В дистрибутиве Vtiger CRM сравнение производится по части номера, поэтому, к примеру входящий звонок с номер 600 может быть отнесен к клиенту, у которого номер телефона 6000000.
    Единственный нерешенный вопрос остается – чтобы номера опознавались не только по карточкам контактов, но и контрагентов.

  • Аватар iddqd1 - 2 г., 2 мес. назад:

    Лично у меня в freepbx на входящем маршруте первым действием прописан «set caller id», который добавляет 8 к входящему номеру (провайдер шлет номера без кода страны и без 8ки, просто XXXXXXXXXX).
    На исходящих маршрутах стоит правило для преобразования номеров из +7ХХХХХХХХХХ, 7ХХХХХХХХХХ, и ХХХХХХХ, 8XXXXXXXXXX в +7ХХХХХХХХХХ.

  • Аватар Алексей - 5 мес., 2 нед. назад:

    не буду создавать новую тему. Также прошу помощи по коннектору. Имеется voip-gsm шлюз с симками нескольких операторов, выбор сим карты для звонка управляется префиксом (01-03), который добавляет транк настроенный через FreePBX. Звонки ходят отлично, только в модуле звонки номера теперь отображаются в кривом формате ,с добавкой префикса, а если ещё и кликнуть по нему – тогда получается дублирование префикса и звонок отбивает диалплан астериска.

  • Аватар acidvolk - 4 мес., 3 нед. назад:

    Была та же бида со шлюзом GOIP, решил так :
    в modules/PBXManager/connectors/PBXManager.php
    в функции handleStartupCall($details, $userInfo, $customerInfo)

    if ($details->get(‘from’)) {
    $params['CustomerNumber'] = $details->get(‘from’);
    } else if ($details->get(‘to’)) {
    $params['CustomerNumber'] = $details->get(‘to’);
    }

    заменил на

    if ($details->get(‘from’)) {
    $params1 = $details->get(‘from’);
    $params['CustomerNumber'] = substr($params1,-10);
    } else if ($details->get(‘to’)) {
    $params1 = $details->get(‘to’);
    $params['CustomerNumber'] = substr($params1,-10);
    }

    теперь обрезает до 10 символов и нормально отображает в звонках.

  • Аватар Алексей - 4 мес., 2 нед. назад:

    acidvolk Спасибо. но не помогло. Номера вообще перестали отображаться в Звонках