PDA

Voir la version complète : [Résolu] - Problème de renvoi d'appel vers numéro exterieur



Nocebo
15/07/2015, 15h30
Bonjour à tous, je viens vers vous car j'ai de nouveau un petit soucis, qui lui me fait perdre un temps monstrueux :S

Je souhaite pouvoir programmer un numéro de renvoi pour les moments ou personnes ne se trouvent au bureau .

voici mon sip.conf :



[general]
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes

register => 00331XXXX7888:XXXXXXXX@sip.ovh.fr ; 8000
register => 00331XXXX7980:XXXXXXXX@sip.ovh.fr ; 6001
register => 00331XXXX7985:XXXXXXXX@sip.ovh.fr ; 6002
register => 00331XXXX7908:XXXXXXXX@sip.ovh.fr ; 6003
register => 00331XXXX7885:XXXXXXXX@sip.ovh.fr ; 6004

[template](!)
type = friend
host = dynamic
dtmfmode = auto
language = fr
insecure = port
nat = yes
canreinvite = no
video = no
amaflags = default
context = internal

[6001](template)
fullname = Grégoire SEVI
username = 6001
callerid = "Gregoire" <6001>
secret = 6001

[6002](template)
fullname = Thomas
username = 6002
callerid = "Thomas" <6002>
secret = 6002

[6003](template)
fullname = Quentin
username = 6003
callerid = "Quentin" <6003>
secret = 6003

[6004](template)
fullname = Salle REUNION
callerid = "Salle REUNION" <6004>
username = 6004
secret = 6004

[forfait-ovh]
type = peer
host = sip.ovh.fr
context = ovh-sip
language = fr
insecure = port,invite
username = 00331XXXX7888
secret = XXXXXXXX
nat = yes
dtmfmode = auto
canreinvite = no
qualify = yes
dtmfmode = auto
video = no
restrictcid = no
amaflags = default
qualify = yes


Et mon fichier extensions.conf



[general]
static = yes
writeprotect = no
autofallthrough = yes
clearglobalvars = no
priorityjumping = no

[globals]
CONSOLE = Console/dsp ; Console interface for demo
IAXINFO = guest ; IAXtel username/password
TRUNK = DAHDI/G2 ; Trunk interface
TRUNKMSD = 1 ; MSD digits to strip (usually 1 or 0)

[ovh-sip]
exten => s,1,Answer()
exten => s,n,Goto(switch,${CUT(CUT(SIP_HEADER(To),@,1),:,2) },1)

[switch]
exten => 01XXXX7888,1,Ringing(1)
exten => 01XXXX7888,2,Answer
exten => 01XXXX7888,3,Goto(internal,8000,1)
exten => 01XXXX7888,4,Hangup(16)

exten => 01XXXX7980,1,Ringing(1)
exten => 01XXXX7980,2,Answer
exten => 01XXXX7980,3,Goto(checker,6001,1)

exten => 01XXXX7985,1,Ringing(1)
exten => 01XXXX7985,2,Answer
exten => 01XXXX7985,3,Goto(checker,6002,1)

exten => 01XXXX7908,1,Ringing(1)
exten => 01XXXX7908,2,Answer
exten => 01XXXX7908,3,Goto(checker,6003,1)

exten => 01XXXX7885,1,Ringing(1)
exten => 01XXXX7885,2,Answer
exten => 01XXXX7885,3,Goto(checker,6004,1)

[checker]
exten => _600X,1,Macro(controle-entrant,${EXTEN},${CALLERID(NUM)})

[macro-controle-entrant]
exten => s,1,Set(CF-status=${DB(${MACRO_EXTEN}/CF-status)})
exten => s,2,GotoIf($[${CF-status} = "Forward"]?30)
exten => s,3,Dial(SIP/${MACRO_EXTEN},30)
exten => s,4,Hangup()
exten => s,5,MacroExit

; Partie redirection d'appel
exten => s,30,Set(CALLERID(num)=${MACRO_EXTEN})
exten => s,n,Verbose(1, Outgoing Caller ID: ${CALLERID(all)})
exten => s,n,Set(CF-NUM=${DB(${MACRO_EXTEN}/CF-NUM)})
exten => s,n,Answer()
exten => s,n,Dial(SIP/forfait-ovh/${CF-NUM})
exten => s,n,Hangup()
exten => s,n,NoOp(****** FIN DU RENVOI ******)

[internal]

exten => 6001,1,Dial(SIP/${EXTEN},20,tT)
exten => 6002,1,Dial(SIP/${EXTEN},20,tT)
exten => 6003,1,Dial(SIP/${EXTEN},20,tT)
exten => 6004,1,Dial(SIP/${EXTEN},20,tT)

exten => 8000,1,Answer
exten => 8000,2,Set(HEURE=${IFTIME(07:00-19:00,mon-fri,*,*?OUVERT:FERME)})
exten => 8000,3,GotoIf($[${HEURE}=OUVERT]?semaine:week)
exten => 8000,4(semaine),Dial(SIP/6001&SIP/6002&SIP/6003&SIP/6004)
exten => 8000,5(week),VoiceMail(${EXTEN})

; Appel de la messagerie
exten => 600,1,VoiceMailMain()

; Appel sortant
exten => _X.,1,Dial(SIP/forfait-ovh/${EXTEN})

; Configuration renvoi d'appel
exten => 777,1,Set(TIMEOUT(digit)=1)
exten => 777,n,agi(googletts.agi,"Presser le 8 pour activer le renvoi d'appel, ou 9 pour désactiver le renvoi",fr,any)

exten => 8,1,agi(googletts.agi,"Saisissez le numéro pour le renvoi",fr,any)
exten => 8,n,Read(digit,,13,1)
exten => 8,n,Set(DB(${CALLERID(num)}/CF-status)="Forward")
exten => 8,n,Set(DB(${CALLERID(num)}/CF-NUM)=${digit})
exten => 8,n,Wait(3)
exten => 8,n,SayDigits(${digit})

exten => 9,1,Set(DB(${CALLERID(num)}/CF-status)="none")
exten => 9,n,Set(DB(${CALLERID(num)}/CF-NUM)=${CALLERID(num)})

exten => 777,n,Wait(1)
exten => 777,n,Hangup()


Voilà si vous avez besoin d'informations pour pouvoir m'aider, n'hésité pas, je vous remercie fortement :)

EDIT : Excusé moi je ne vous ai pas mis le message d'erreur de la CLI



== Using SIP RTP CoS mark 5
-- Executing [0689251740@internal:1] Dial("SIP/6003-0000000f", "SIP/forfait-ovh/06XXXX1740") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/forfait-ovh/06XXXX1740
[Jul 16 15:39:39] WARNING[17705][C-0000000a]: chan_sip.c:23296 handle_response_invite: Received response: "Forbidden" from '"Quentin" <sip:6003@192.168.1.102>;tag=as5613f97c'
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'SIP/6003-0000000f' status is 'CHANUNAVAIL'



Le problème a été résolu avec une reconfiguration générale :)