FWIW, Graham's code will work IF the Subject line is 'close enough' to your pattern

Maybe you need to add error checks to make sure that you're dealing with a voice mail message, that there is a phone number, etc. ??


Option Explicit


Sub test()
    Dim PhoneNumberString As String


'    PhoneNumberString = Item.Subject
    PhoneNumberString = "Voicemail received from (647) 906-8121 (0:04s) on ext 500" '   <<<<<<<<<<<<< just for test
    
    PhoneNumberString = Mid(PhoneNumberString, InStr(1, PhoneNumberString, "("))
    PhoneNumberString = Left(PhoneNumberString, InStr(2, PhoneNumberString, "(") - 1)
    
    MsgBox PhoneNumberString


End Sub