From: Ricardo Carvalho <[EMAIL PROTECTED]>
Date: Fri, 16 Mar 2007 13:41:49 +0000

With Ioan suggestion it still doesn't work, because Asterisk still thinks that the INVITE sent as consequence of the REFER message isn't correlated with a transferred call coming from the secretary.

Your requirement that the secretary only press the phone's built-in transfer key makes Asterisk out of the loop, as SIP requires that a proxy do not act on REFER, and that the agent receiving REFER do not treat REFER-to in any special way.

To force the secretary to use an Asterisk-defined key sequence, you can disable the phone's feature keys. Alas! Only if hard phone manufacturers allow us to reprogram these keys.

On the other hand, you can still use Jonathan's method, to change the boss' real extension. If there's a special reason why this can't be done, I can think of a really crooked method to do what you want:

. Retrain your secretary to "transfer" call to boss to a special extension, say boss_xfer, instead of to boss_extension. . In boss_xfer, set some special variable or SIP header before Dial(Local/[EMAIL PROTECTED]). . In boss_extension, check for this special viable or SIP header before really dialing boss' phone.
. Keep boss_xfer a top secret.

Yuan Liu

I've also tried to do it using different contexts, but it still doesn't work. I've done like this:
[default]
exten => secretary_extension,1,Dial(SIP/secretary_extension)
exten => boss_extension,1,Dial(SIP/secretary_extension)
[secretary]
include => default
exten => boss_extension,1,Dial(SIP/boss_extension)

The problem seems to be that in either case, Asterisk doesn't keep the state of the call, to know that if transferred from the secretary, the server should let it pass to the boss and not redirecting it back to the secretary. May this be solved with Transfer([Tech/]dest[|options])? And is it the only way to do it? Can't it be done with normal "transfer" key that the phones I've deployed have?


Any other ideas?!
Thanks,
Ricardo.

Ioan Indreias wrote:
Maybe you could use something like:

exten => boss_ext,1,GotoIf($[${CALLERID(number)}=secretary_ext]?boss:secretary)
exten => boss_ext,n(boss),Dial(SIP/boss_ext)
exten => boss_ext,n(secretary),Dial(SIP/secretary_ext)

## nini @ www.modulo.ro ##

Jonathan k. Creasy wrote:
Why don't you just give the secretary the boss' REAL extension and give a different extension to the world that just rings the secretary?
-jonathan


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:asterisk-users-
[EMAIL PROTECTED] On Behalf Of Ricardo Carvalho
Sent: Friday, January 26, 2007 12:13 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: [asterisk-users] Only secretary can call the boss, all others
only reach the secretary when dial the boss extension

Dear all,

How may I configure my extensions.conf so that only the boss's secretary
can call the boss through his extension, all others when dial his
extension only makes the boss's secretary phone ring, not his. If she
wants, she can transfer the incoming call to the boss dialling his
extension.

I've tried the following, but it doesn't work:

exten => _boss_extension/callerid_secretary,1,Dial(SIP/boss_extension)
exten => _boss_extension,1,Dial(SIP/secretary_extension)

This doesn't work because when the secretary tries to transfer the call
to the boss (using her phone's transfer key, not #), one REFER SIP
message is sent back to the caller's phone providing him the new address
for whom the next INVITE should be sent. That INVITE is sent, but when
reaches Asterisk, that INVITE matches this line:

exten => _boss_extension,1,Dial(SIP/secretary_extension)

and not this one:

exten => _boss_extension/callerid_secretary,1,Dial(SIP/boss_extension)

Any ideas of how may I solve this issue?
Regards,
Ricardo.


_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to