Example of successful BLF usage?

Hello friends,

I’ve been struggling to get BLF working in voip.ms for extensions (https://wiki.voip.ms/article/BLF_Example_Scenario) or parking lots (https://wiki.voip.ms/article/Call_Parking). Support team has enabled it on my account & PoP.

Can anyone share a working BLF config for their phones? Even better, a Wireshark decoding of the SIP SUBSCRIBE + NOTIFY messages?

BLF works perfectly on FreePBX, but I’d rather not run my own PBX if I don’t have to.

If I could get BLF working directly on voip.ms, then I could have a small office phone setup without requiring my own PBX!

Here’s what works on my FreePBX setup:

  • See when another extension is idle, on a call, or ringing.
  • Directed pick up a call that’s ringing to another extension.
  • Attended transfer to another extension.
  • Park a call in a slot.
  • Visually see that parking slot is occupied.
  • Retrieve a parked call.

Example config for a Polycom VVX phone on FreePBX (scroll to see it all):

<config
    lcl.status.LineInfoAtTop="1"
    lcl.status.LineInfoAtTopText="Reception (ext 101)"

    reg.1.label="Line 1"
    reg.1.address="101"
    reg.1.auth.userId="101"
    reg.1.auth.password="very-secure-password"
    reg.1.server.1.address="my-own-freepbx-server-ip"
    reg.1.server.1.port="5060"
    reg.1.server.1.transport="UDPOnly"

    # allow you to pickup calls ringing to other BLF extensions
    call.directedCallPickupString="**"

    # do not ring this phone when a call is coming to another BLF extension
    attendant.behaviors.display.spontaneousCallAppearances.normal="0"

    # allow call retrieval from a busy parking slot 
    attendant.behaviors.automata.pickupOnBusy="0"
    
    #######
    # other extensions in the office
    #######
    # press the button to (1) call them, (2) answer their incoming call, or (3) attended transfer to them
    # light will blink green when they are being rung, and then glow red if they are on a call
    # on voip.ms, these addresses should be the subaccounts? e.g. "400000_NURSE", "400000_DOCTOR", etc.
    attendant.resourceList.12.address="102"
    attendant.resourceList.12.label="Nurse (ext 102)"
    attendant.resourceList.12.type="normal"
    
    attendant.resourceList.13.address="103"
    attendant.resourceList.13.label="Doctor (ext 103)"
    attendant.resourceList.13.type="normal"

    attendant.resourceList.14.address="104"
    attendant.resourceList.14.label="Billing (ext 104)"
    attendant.resourceList.14.type="normal"
    
    #######
    # parking slots
    #######
    # press the button to Park the call, press again to retrieve it from any phone
    # light will glow red when the slot is filled
    # on voip.ms, these addresses should be e.g. "P701_2405" and "P702_2405" ?
    attendant.resourceList.71.label="Park 1"
    attendant.resourceList.71.address="71"
    attendant.resourceList.71.type="automata"
    
    attendant.resourceList.72.label="Park 2"
    attendant.resourceList.72.address="72"
    attendant.resourceList.72.type="automata"
    
    />

Can I get this same functionality directly on voip.ms without needing FreePBX?

I keep getting 404 errors whenever I subscribe to BLF:

Session Initiation Protocol (404)
    Status-Line: SIP/2.0 404 Not Found
    Message Header
        Via: SIP/2.0/UDP 192.168.1.51;branch=z9hG4bK42958c3e549CB936;received=98.0.0.1;rport=5060
        From: "400000_RECEPTION" <sip:400000_RECEPTION@montreal.voip.ms>;tag=1EEC828C-B5593236
        To: <sip:400000_NURSE@montreal.voip.ms>;tag=asf57c6cd6
        Call-ID: 39ea74916e73c33cb29764324148dac6
        CSeq: 2 SUBSCRIBE
        Server: voip.ms
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
        Supported: replaces, timer
        Content-Length: 0

Session Initiation Protocol (SUBSCRIBE)
    Request-Line: SUBSCRIBE sip:400000_NURSE@montreal.voip.ms SIP/2.0
    Message Header
        Via: SIP/2.0/UDP 192.168.1.51;rport;branch=z9hG4bK42958c3e549CB936
        From: "400000_RECEPTION" <sip:400000_RECEPTION@montreal.voip.ms>;tag=1EEC828C-B5593236
        To: <sip:400000_NURSE@montreal.voip.ms>
        CSeq: 2 SUBSCRIBE
        Call-ID: 39ea74916e73c33cb29764324148dac6
        Contact: <sip:400000_RECEPTION@192.168.1.51>
        Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,UPDATE,REFER
        Event: dialog
        User-Agent: PolycomVVX-VVX_411-UA/6.4.6.2640
        Accept-Language: en
        Accept: application/dialog-info+xml
        Authorization: Digest username="400000_RECEPTION", realm="montreal.voip.ms", nonce="..", uri="sip:400000_NURSE@montreal.voip.ms", response="..", algorithm=MD5
        Max-Forwards: 70
        Expires: 3600
        Content-Length: 0

First things to check -

  1. All sub accounts and DIDs need to be assigned to the same server location.

  2. Contact support via chat and ask them to enable BlF in your account on the server you chose.

That’s a good start…

Hi @JeffPB , thank you for replying. I had done those steps already. It turns out BLF wasn’t fully enabled on my account the first time around. Voip.ms support team has fully enabled it now!

1 Like