1 | изначальная версия редактировать | |
Собственно, самописная срм, ложит .call файл куда следует, asterisk звонит локальному абоненту, тот берет трубку, asterisk звонит абоненту удаленному, тот берет трубку все ок, запись идет cdr 2 звонка, все ок.
проблема начинается если абонент трубку не взял, то в cdr не пишется плечо "Б" (звонок к клиенту), решил добавить опцию "g" в Dial, и дописать запись в MySQL db после звонка, теперь в базе статус всегда ANSWER и когда клиент взял трубку, и когда нажал сброс, в "h" тоже самое статус всегда ANSWER
[crm-perezvon]
exten => _380XXXXXXXXX,1,NoOP( CALL PEREZVON - ${EXTEN})
same => n,Set(CALLERID(name)=380001234567)
same => n,Set(CALLERID(num)=380001234567)
same => n,Macro(mixmonitor)
same => n,Dial(SIP/provider/${EXTEN},30,g,)
same => n,MYSQL(Connect connid localhost asterisk_db asterisk_db asterisk_db utf8)
same => n,MYSQL(Query resultid ${connid} INSERT INTO perezvon SET id='', timestart='${CDR(start)}', src='${CDR(src)}', dst='${EXTEN}', accountcode='${CDR(accountcode)}', dialstatus='${DIALSTATUS}')
same => n,MYSQL(Disconnect ${connid})
same = n,Hangup
[local]
exten => _XXXX,1,NoOP(LOCAL ${EXTEN})
same => n,Macro(mixmonitor)
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()
и сам .call файл
Channel: Local/1000@local
MaxRetries: 0
RetryTime: 50
WaitTime: 30
Context: crm-perezvon
Extension: 38000999887766
Account: code-id-12345
Callerid: 1000
Priority: 1
2 | No.2 Revision редактировать |
Собственно, самописная срм, ложит .call файл куда следует, asterisk звонит локальному абоненту, тот берет трубку, asterisk звонит абоненту удаленному, тот берет трубку все ок, запись идет cdr 2 звонка, все ок.
проблема начинается если абонент трубку не взял, то в cdr не пишется плечо "Б" (звонок к клиенту), решил добавить опцию "g" в Dial, и дописать запись в MySQL db после звонка, теперь в базе статус всегда ANSWER и когда клиент взял трубку, и когда нажал сброс, в "h" тоже самое статус всегда ANSWER
[crm-perezvon]
exten => _380XXXXXXXXX,1,NoOP( CALL PEREZVON - ${EXTEN})
same => n,Set(CALLERID(name)=380001234567)
same => n,Set(CALLERID(num)=380001234567)
same => n,Macro(mixmonitor)
same => n,Dial(SIP/provider/${EXTEN},30,g,)
same => n,MYSQL(Connect connid localhost asterisk_db asterisk_db asterisk_db utf8)
same => n,MYSQL(Query resultid ${connid} INSERT INTO perezvon SET id='', timestart='${CDR(start)}', src='${CDR(src)}', dst='${EXTEN}', accountcode='${CDR(accountcode)}', dialstatus='${DIALSTATUS}')
same => n,MYSQL(Disconnect ${connid})
same = n,Hangup
[local]
exten => _XXXX,1,NoOP(LOCAL ${EXTEN})
same => n,Macro(mixmonitor)
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()
и сам .call файл
Channel: Local/1000@local
MaxRetries: 0
RetryTime: 50
WaitTime: 30
Context: crm-perezvon
Extension: 38000999887766
380009998877
Account: code-id-12345
Callerid: 1000
Priority: 1
3 | No.3 Revision редактировать |
Собственно, самописная срм, ложит .call файл куда следует, asterisk звонит локальному абоненту, тот берет трубку, asterisk звонит абоненту удаленному, тот берет трубку все ок, запись идет cdr 2 звонка, все ок.
проблема начинается если абонент трубку не взял, то в cdr не пишется плечо "Б" (звонок к клиенту), решил добавить опцию "g" в Dial, и дописать запись в MySQL db после звонка, теперь в базе статус всегда ANSWER и когда клиент взял трубку, и когда нажал сброс, в "h" тоже самое статус всегда ANSWER
[crm-perezvon]
exten => _380XXXXXXXXX,1,NoOP( CALL PEREZVON - ${EXTEN})
same => n,Set(CALLERID(name)=380001234567)
same => n,Set(CALLERID(num)=380001234567)
same => n,Macro(mixmonitor)
same => n,Dial(SIP/provider/${EXTEN},30,g,)
same => n,MYSQL(Connect connid localhost asterisk_db asterisk_db asterisk_db utf8)
same => n,MYSQL(Query resultid ${connid} INSERT INTO perezvon SET id='', timestart='${CDR(start)}', src='${CDR(src)}', dst='${EXTEN}', accountcode='${CDR(accountcode)}', dialstatus='${DIALSTATUS}')
same => n,MYSQL(Disconnect ${connid})
same = n,Hangup
[local]
exten => _XXXX,1,NoOP(LOCAL ${EXTEN})
same => n,Macro(mixmonitor)
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()
и сам .call файл
Channel: Local/1000@local
MaxRetries: 0
RetryTime: 50
WaitTime: 30
Context: crm-perezvon
Extension: 380009998877
Account: code-id-12345
Callerid: 1000
Priority: 1
проблема в том что нужно потом понимать был ли удачный звонок оператора к клиенту или нет
4 | No.4 Revision редактировать |
Asterisk 11
Собственно, самописная срм, ложит .call файл куда следует, asterisk звонит локальному абоненту, тот берет трубку, asterisk звонит абоненту удаленному, тот берет трубку все ок, запись идет cdr 2 звонка, все ок.
проблема начинается если абонент трубку не взял, то в cdr не пишется плечо "Б" (звонок к клиенту), решил добавить опцию "g" в Dial, и дописать запись в MySQL db после звонка, теперь в базе статус всегда ANSWER и когда клиент взял трубку, и когда нажал сброс, в "h" тоже самое статус всегда ANSWER
[crm-perezvon]
exten => _380XXXXXXXXX,1,NoOP( CALL PEREZVON - ${EXTEN})
same => n,Set(CALLERID(name)=380001234567)
same => n,Set(CALLERID(num)=380001234567)
same => n,Macro(mixmonitor)
same => n,Dial(SIP/provider/${EXTEN},30,g,)
same => n,MYSQL(Connect connid localhost asterisk_db asterisk_db asterisk_db utf8)
same => n,MYSQL(Query resultid ${connid} INSERT INTO perezvon SET id='', timestart='${CDR(start)}', src='${CDR(src)}', dst='${EXTEN}', accountcode='${CDR(accountcode)}', dialstatus='${DIALSTATUS}')
same => n,MYSQL(Disconnect ${connid})
same = n,Hangup
[local]
exten => _XXXX,1,NoOP(LOCAL ${EXTEN})
same => n,Macro(mixmonitor)
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()
и сам .call файл
Channel: Local/1000@local
MaxRetries: 0
RetryTime: 50
WaitTime: 30
Context: crm-perezvon
Extension: 380009998877
Account: code-id-12345
Callerid: 1000
Priority: 1
проблема в том что нужно потом понимать был ли удачный звонок оператора к клиенту или нет
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.