Transferindo asterisco de chamada para contexto diferente

1

Eu tenho um PABX pequeno e básico, e com dois contextos que basicamente são vendas e o supervisor tem papéis e privilégios diferentes. Percebo que é possível transferir uma chamada do mesmo contexto, mas foi impossível transferir qualquer coisa para outro contexto.

Qualquer insight, eu sou um novato no asterisco, mas atualmente não há mais ninguém no comando ...

Obrigado

Editar

Esta é a extensão .conf

[supervisor]
include => from-internal
exten => _40XX,1,Answer
exten => _40XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _40XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _40XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _40XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _40XX,n,Hangup

[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup

e o sip.conf é assim:

[supervisor]
username=sales
secret=ASUPERSECRETPASSWORD
type=peer
.....
context=supervisor
mailbox=supervisor

[sales]
username=sales
secret=ASUPERSECRETPASSWORD
type=peer
.....
context=sales
mailbox=sales

O que você sugere para obter o supervisor com os mesmos privilégios que ele já tem e as vendas foram capazes de transferir chamadas para ele

    
por Necronet 06.05.2011 / 00:48

1 resposta

4

quando você transferir as chamadas, o asterisco procurará a extensão em seu contexto atual, portanto, se alguém ligar usando "vendas", poderá transferir apenas para os ramais 41XX, se quiser que ele seja transferido para os ramais 40XX, você deve adicionar 40XX para o contexto de vendas, exemplo:

[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup

exten => _40XX,1,Dial(SIP/${EXTEN},40,TtRr)

(você também pode incluir o contexto de supervisor em seu contexto de vendas)

Se você quiser evitar que os usuários de vendas liguem para os usuários de supervisor e vice-versa, mas ainda permitirão que eles transfiram as chamadas uns para os outros, você poderá resolvê-lo desta maneira:

crie um novo contexto designado apenas para transferências de chamadas, em que você fornece extensões que devem ser acessadas ao transferir uma chamada, por exemplo:

[call-transfer]
 exten => _40XX,1,Dial(SIP/${EXTEN},40,TtRr)
 exten => _41XX,1,Dial(SIP/${EXTEN},40,TtRr)

Em seguida, defina __TRANSFER_CONTEXT = transferência de chamadas:

[supervisor]
include => from-internal
exten => _40XX,1,Answer
exten => _40XX,n,Set(__TRANSFER_CONTEXT=call-transfer)
exten => _40XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _40XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _40XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _40XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _40XX,n,Hangup

[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _40XX,n,Set(__TRANSFER_CONTEXT=call-transfer)
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup

Só não tenho certeza se __TRANSFER_CONTEXT ainda está presente nas novas versões do asterisco:)

    
por 07.05.2011 / 03:59

Tags