I have been running a MetaSwitch for about fifteen years now but I am new to the FreePBX environment. I opened an account with VoIP.ms using a temporary DN (until my home one ported) and I was able to pass through NOTIFY messages for MWI’s using the line: “unsolicited_mailbox=207XXXXXX”. It was working great until my home number ported and I swapped mailboxes within VoIP.ms
When a new message deposit comes in I receive a SIP NOTIFY from VoIP.ms and my server responds with a 200OK but never sends NOTIFY messages to the registered endpoints. When I look at the URI’s in the Message Header of the NOTIFY from VoIP.ms the FROM, TO and CONTACT look wrong, I see this:
From: “Unknown” <sip:Unknown at 184.108.40.206>;tag=as2dcc3fc6
To: <sip:s at secretIPaddress:5060>
Contact: <sip:Unknown at 220.127.116.11:5060>
(the word “at” in the address was put there because the “@” was creating links which are not allowed in this message)
Shouldn’t these URI’s reflect my voicemail DN? Isn’t that the purpose of the unsolicited_mailbox line to match the URI’s in the NOTIFY message? And if they are wrong I am assuming my server will ignore the message even though it responds with a 200OK?
I opened a ticket with VoIP.ms giving them a packet capture and asked them to look at the message header but they gave me the typical first round response and told me to read the docs.
Any help you awesome folks can provide would be greatly appreciated. I have the packet capture if anyone wants to look.
Some specs are:
FreePBX 18.104.22.168 (all modules up to date)
Mitel 6867i’s = 22.214.171.1248
Grandstream DP750 / DP730 = 126.96.36.199
I have no idea what may be wrong, but believe it’s very unlikely that just adding a DID to your account would cause VM passthrough to start failing. If you undo your recent settings changes at VoIP.ms, do messages left on the temporary DID still work correctly? If so, and messages on the ported DID fail, please paste the Asterisk log (including SIP debug) for one successful and one failing call at pastebin.freepbx.org and post the link here. If you are too new to post links, just post the last eight hex characters of the URL.
However, please explain why you are trying to do something so unusual (use a trunking provider’s voicemail from PBX extensions). I would expect that using FreePBX voicemail would be simpler and result in a much smoother experience. Also, you wouldn’t be dependent on a specific trunking provider nor on chan_sip (which will soon be unsupported).
Thank you for helping. Unfortunately the temporary DID is gone so I can’t revert and test. My server is for home use only, I decided to use my providers VM just for outage protection if I were to lose power or uplink. I saw that others were using this method so why not, it worked at first.
Did you see what I was referring to with the URI’s in the message body? I went and refreshed myself with the RFC and I am pretty sure that’s the issue but I was looking for confirmation of what the unsolicited_mailbox line was looking to match. If you null out that line or don’t enter a syntax the server will respond with a 481. Would you know if a wildcard can be used in the unsolicited_mailbox line?
Last night after I deleted my VM on my provider I was still seeing them sending me NOTIFY messages, I am betting I had to wait for a cleanup audit or purge because as of this morning the NOTIFY messages have stopped. I’ll rebuild it today and see what comes of it.
Thanks again for your help.
I figured out what is causing the issue, in the SIP REGISTRATION from the PBX, the PBX is writing the Contact URI as “Contact: sip:[email protected]:5060”, I have no idea where the lower case s is coming from but when the VoIP provider sends a NOTIFY message to enable the MWI it does so with a matching Contact URI and this is not being matched with the “Unsolicited_mailbox=” line.
Would anyone know why the PBX is writing the Contact URI this way? I’ve looked all around and can’t seem to understand what would cause that behavior.
In chan_sip, you can put a / followed by a number at the end of the Register String. It’s common to put a phone number here. For example, with a Register String of
Asterisk will put 2223334444 in the user field of the Contact header for REGISTER.
The provider will then send an incoming call as
INVITE sip:[email protected] ...
which will allow FreePBX to match an Incoming Route with DID Number 2223334444.
2223334444 will also appear in a NOTIFY.
With pjsip, you would put 2223334444 in Contact User.
If there is no / in the Register String or Contact User is left blank, Asterisk uses ‘s’ (meaning start) in the user field of the Contact header.
Again thank you for your help, I fixed it finally. Once again I tricked myself into thinking an issue is more complicated than it actually is, I forgot to change a setting in the PBX when I changed the voicemail DN with my service provider. Applications → Extensions → Extension # → Advanced → Mailbox, this needs to be “[email protected]_Remote”
For future reference the PBX settings (for VoIP.ms in my case) are found here: MWI and VOIP Provider - #11 by jameelm
Man I feel so stupid right now.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.