Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

не сохраняются custom поля CDR в базе [закрыт]

0

Добрый день,

Есть следующая проблема - Астериск наотрез отказывается сохранять custom поля CDR в БД, кроме тех которые в дефолтовой схеме. Перепробовал все варианты.

Пример лога вызова:

<Local/104@extenreceive-00000251;2>AGI Rx << EXEC "Set" "CDR(operatorstatus)="LOGGED_IN""
    -- AGI Script Executing Application: (Set) Options: (CDR(operatorstatus)=LOGGED_IN)

    -- <Local/104@dialsipexten-00000250;2>AGI Script /usr/bin/php completed, returning 0

после разъединения:

    [INSERT INTO cdr ("calldate","clid","src","dst","dcontext","channel","dstchannel","lastapp",
"lastdata","duration","billsec","disposition","accountcode","uniqueid","userfield",
"peeraccount","linkedid","sequence","transferred_from","amaflags") 
    VALUES ('2013-08-10 16:20:33','"замылено" <замылено>','замылено','104','extenreceive',
    'Local/104@extenreceive-00000251;2','SIP/000104 000001ff','Dial','SIP/000104,40,mt',3,0,'NO ANSWER',
    '','1376137233.1700','','','1376137229.1696',1923,'','DOCUMENTATION')]

Этого поля соответственно нет.

Моя схема (PostgreSQL):

CREATE TYPE vpbx_calldirection AS ENUM (
    'int-int',
    'int-ext',
    'ext-int',
    'ext-ext',
    'features',
    'unknown-unknown'
);
CREATE TYPE vpbx_calltype AS ENUM (
    'incoming',
    'outgoing',
    'forwarded',
    'unanswered'
);

CREATE TYPE vpbx_operatorstatus AS ENUM (
    'ABSENT',
    'LOGGED_IN',
    'AWAY_SHORT',
    'AWAY_LUNCH'
);
CREATE TABLE cdr (
    id integer NOT NULL,
    calldate timestamp without time zone NOT NULL,
    clid character varying(80) NOT NULL,
    src character varying(80) NOT NULL,
    dst character varying(80) NOT NULL,
    dcontext character varying(80) NOT NULL,
    channel character varying(80) NOT NULL,
    dstchannel character varying(80) NOT NULL,
    lastapp character varying(80) NOT NULL,
    lastdata character varying NOT NULL,
    duration integer NOT NULL,
    billsec integer NOT NULL,
    disposition character varying(45) NOT NULL,
    accountcode character varying(20) NOT NULL,
    uniqueid character varying(150) NOT NULL,
    userfield character varying(255) NOT NULL,
    peeraccount character varying(20) NOT NULL,
    linkedid character varying(150) NOT NULL,
    sequence integer NOT NULL,
    transferred_from character varying(50) NOT NULL,
    src_id integer,
    dst_id integer,
    call_type vpbx_calltype,
    call_direction vpbx_calldirection DEFAULT 'unknown-unknown'::vpbx_calldirection NOT NULL,
    recorded_call_ref integer,
    record_duration integer DEFAULT 0 NOT NULL,
    amaflags character varying(15),
    pstn_num_incoming integer,
    srcname character varying(80) DEFAULT ''::character varying,
    dstname character varying(80) DEFAULT ''::character varying,
    calleridname character varying(80) DEFAULT ''::character varying,
    operatorstatus vpbx_operatorstatus
);

В cdr.conf:

[general]

enable=yes
unanswered = yes
congestion = yes

loguniqueid=yes
loguserfield=yes


[pgsql]
loguniqueid=yes
loguserfield=yes

в cdr_pgsql.conf:

[global]
hostname=localhost
port=5432
dbname=dbuser
password=dbuser
user=dbuser
table=cdr
encoding=UTF8

Возможно кто-то сталкивался... Буду очень признателен.

удалить переоткрыть спам изменить тег редактировать

спросил 2013-08-10 17:12:14 +0400

octopas Gravatar octopas
111 5 1 3

Comments

2

поиск юзайте.

meral ( 2013-08-10 17:41:03 +0400 )редактировать

действительно - по рекомендации данной ранее в другом ответе заработало. для этого пришлось перегрузить Астер (core restart now). Что удивительно и в чем оказалась причина проблемы - "core reload" не помогало для данной задачи, только жесткий рестарт. спасибо за ответ :-)

octopas ( 2013-08-10 21:01:41 +0400 )редактировать

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-08-10 17:12:14 +0400

Просмотрен: 542 раз

Обновлен: Aug 10 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.