You would have to use the Remote Call Forward feature described in detail in the Feature Guide.
It requires programming some Flexible Feature Codes (if they are not already programmed) and would require DISA if you wanted to do it from an external phone. Works great though.
The other option would be to out the phone or the DN appearance and program as a phantom 500 with DCFW to your number.
I'm not trying to hijack this thread, but I see these remote call forward questions periodically and thought I would share some ideas.
With some creative thinking and a little Outlook VBA programming, you can setup a windows box running outlook to monitor incoming email (text messages) and when it sees one from a list of authorized cell phone numbers, it can do the remote call forward of a specific DN via an old 9600 baud modem's DTMF codes. The sheer beauty of this system is that DISA isn't needed, because it's all internal (very secure) - and via outlook programming you can restrict what forwarding can be done (very very secure) Also - my users have no idea what the 8 digit SCPW is, so no one can do this by themselves; although I have to use the same SCPW for all DN's so the program can send the same one each time.
For example: I text the words "To Me" from my cell to the windows box email address ("cfwd@domain.com"), and the system receives this, triggers a script and RCFW's my extension (matched to my cell number via outlook) to my cell phone. If I text "To VM", it will forward my extension to voicemail. If I text "To Desk" it cancels RCFW. And outlook is programmed to confirm each change via a reply text message.
I didn't bother with error checking to confirm each step, because when the modem is dialing DTMF, it generally doesn't make mistakes so once it works, it should work every time.
With a little more programming, you could set it up to do just about anything; it's all based on how the outlook programming deciphers the text message. I have another script setup so when it sees a DN instead of Alpha Char (ie "1234;NPANXXDNNN") it will RCFW that DN to the provided number - this is a little trickier, but doable.
If anyone one wants to discuss this further, maybe we can create a new thread.
30n30w - Very intriguing idea! Remote Call Forward is a great feature but almost nobody can be bothered with all the digits. But everybody can text!
I'd love to see some of your VBA.
I'll try to clean up the code a little -
(I cannot at any time be mistaken for a "programmer" - my code is ugly, but the ideas are sound....it might help if I didn't have to learn the language as I wrote it!) and post what I can, changing the names and numbers to protect the innocent.
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub textdropper(MyMail As MailItem)
Dim StrID As String
Dim objNS As Outlook.NameSpace
Dim objMail As Outlook.MailItem
Dim vcell As String
Dim vext As String
Dim vname As String
Dim vbilling As String
Dim vvirtual As String
Dim strout As String
Dim textmess As String
StrID = MyMail.EntryID
Set objNS = Application.GetNamespace("MAPI")
Set objMail = objNS.GetItemFromID(StrID)
If FindAddy(objMail.SenderEmailAddress, vext, vname, vvirtual) <> "NOTFOUND" Then
vcell = Left(email_addy, 10)
Dim myReply As Outlook.MailItem
Set myReply = objMail.Reply
Dim com_port As Object
If LCase(Trim(textmess)) = "help" Then 'Send user some help info
With myReply
.Subject = ""
.Body = "Help Info for directing your Extension to your cell phone, Don't include the braces [ ]." & vbNewLine & "Text the following: " & vbNewLine & vbNewLine & "[To cell] forward to cell." & vbNewLine & "[To vm] to voicemail. " & vbNewLine & "[To desk] cancel forward."
.Send
End With
ElseIf LCase(Trim(textmess)) = "5273" Then ' these are "special" cases for forwarding a specific DN ; the users texts the DN to the system and it forwards that DN to them.
com_port.PortOpen = False
Set com_port = Nothing
With myReply
.Subject = ""
.Body = vname & "," & vbNewLine & "your ext " & vext & " now rings at your desk. Fowarding has been cancelled." & vbNewLine & vbNewLine & "To Change:" & vbNewLine & "[To cell] forward to cell." & vbNewLine & "[To vm] to voicemail. "
.Send
End With
ElseIf LCase(Trim(textmess)) = "to vm" Then
Set com_port = CreateObject("NETCommOCX.NETComm")
com_port.commport = 3
com_port.settings = "57600,N,8,1"
com_port.InputLen = 1024
com_port.RThreshold = 0
com_port.RThreshold = 0
com_port.PortOpen = True
Sleep (1000)
com_port.Output = "ATDT*7221234567" & vext & "2422#" & vbCrLf ' this sends it to the callpilot CDN 2422
Sleep (7000)
com_port.Output = "ATH0"
Sleep (1000)
com_port.PortOpen = False
Set com_port = Nothing
With myReply
.Subject = ""
.Body = vname & "," & vbNewLine & "your ext " & vext & " is now forwarded directly to voicemail." & vbNewLine & vbNewLine & "To Change:" & vbNewLine & "[To cell] forward to cell." & vbNewLine & "[To desk] cancel forward. "
.Send
End With
Else
With myReply
.Subject = ""
.Body = "An ERROR has occurred - Please Contact the Support Desk."
.Send
End With
End If
objMail.UnRead = False
objMail.BillingInformation = vname
objMail.Save
Else
objMail.UnRead = True
objMail.Save
End If
End Sub
Function FindAddy(email_addy As String, vext As String, vname As String, vvirtual As String)
'Dim objApp As Application
'Dim objNS As NameSpace
Dim objContacts As MAPIFolder
Dim colItems As Items
Dim objItem As Object
Dim strAddress As String
Dim strWhere As String
Dim blnFound As Boolean
Dim stradd As String
' get folder to search
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objContacts = objNS.GetDefaultFolder(olFolderContacts)
strWhere = "[Email1Address] <> vbNullString " & _
"Or [Email2Address] <> vbNullString " & _
"Or [CompanyName] <> vbNullString "
Set colItems = objContacts.Items.Restrict(strWhere)
' get address to search for
strAddress = email_addy
If strAddress <> "" Then
colItems.SetColumns ("CompanyName, JobTitle,FullName")
For Each objItem In colItems
' must test for item type to avoid distribution lists
If TypeName(objItem) = "ContactItem" Then
If InStr(objItem.CompanyName, strAddress) > 0 Then
'MsgBox objItem.CompanyName
email_addy = objItem.CompanyName
If Len(Trim(objItem.JobTitle)) = 4 Then
vext = objItem.JobTitle
vvirtual = ""
Else
vext = Left(Trim(objItem.JobTitle), 4)
vvirtual = Right(Trim(objItem.JobTitle), 4)
End If
vname = objItem.FullName
blnFound = True
Exit For
End If
End If
Next
End If
If Not blnFound Then
' MsgBox "Not Found"
addy_found = False
FindAddy = "NOTFOUND"
Else
addy_found = True
FindAddy = True
End If
Set objItem = Nothing
Set colItems = Nothing
Set objContacts = Nothing
Set objNS = Nothing
Set objApp = Nothing
End Function
Function Quote(data_in) As String
Quote = Chr(34) & CStr(data_in) & Chr(34)
End Function
Function IsInContacts(VvCpSmtp As String) ' This function probably isn't needed for this - it's probably a carryover from other code
'Dim objApp As Application
'Dim objNS As NameSpace
Dim objFolder As Outlook.Folder
Dim objTable As Outlook.Table
Dim objRow As Outlook.Row
Dim objItems As Outlook.Items
Dim objContact As Outlook.ContactItem
Dim StrFind As String
Dim blnIsInContacts As Boolean
blnIsInContacts = False
Set objNS = Application.Session
Set objFolder = objNS.GetDefaultFolder(olFolderContacts)
Set objTable = objFolder.GetTable
StrFind = "[Email1Address] = " & Quote(VvCpSmtp)
Set objRow = objTable.FindRow(StrFind)
If Not objRow Is Nothing Then
blnIsInContacts = True
' email_addy = objContact.EntryID
End If
IsInContacts = blnIsInContacts
Set objRow = Nothing
Set objTable = Nothing
Set objFolder = Nothing
' Set ObjNS = Nothing
'Set objApp = Nothing
End Function
********************************************
In the Outlook contact list, I use Full Name, Job Title, and Company
Full Name Joe Schmo
Job Title 1234;5273
Company 3334445555@mms.att.net
So this person can fwd their own DN (1234) to their cell phone or vm or cancel
This person can also cause the department DN of 5273 to foward to their cell phone, which would be overridden by the next department person doing the same.
If the person doesn't need the department DN functionality, I only put their DN in the Job Title Field ie 1234
Obviously, if it's not in the contact list, the system doesn't do anything but spit an error.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.