There are several reasons why an inbound call may fail to reach your Teams device.
Shown below are a few examples for why you may not be receiving calls. Often, looking into the call logs as described in the linked article above, will shed some insight into these.
TABLE OF CONTENTS
- Registration Timeouts
- 403 Permission Denied: No match for Service User Part
- 404 Not Found Errors
- 422 Session Interval Too Small
- 488 Not Acceptable Here
- 504 Couldn't Classify Packet or No Response
- Q850 Codes
- SIP Codes Wiki
- SIP Methods, Requests & Responses
If your registration times out, your Teams device will not be available to receive calls. This may be noted as an intermittent ability to receive calls.
Hover over the Registration indicator in the Users section of the portal and check the 'Next Sync' advisory.
Ideally a shorter Sync time of 5 - 10 minutes is advisable to prevent timeouts.
You should amend this setting.
403 Permission Denied: No match for Service User Part
This error usually means the number offered by the PBX or Trunk for a user is incorrect. It is most likley to be caused by E164 number mapping issues.
404 Not Found Errors
422 Session Interval Too Small
This error relates directly to the MIN-SE and Session-Expiry settings in the INVITE header.
The Min-SE can be left at the default of 90 in most cases, but the Session-Expires needs to be set to at least 1800 to allow for the exchange of INVITES and Re-INVITES.
488 Not Acceptable Here
There are two primary reasons a “488 Not Acceptable Here” response is seen: Unsupported Codecs and Incompatible Encryption.
If you see this error in the call logs, start by checking the codecs you are sending to the connector service. You can always try limit the codecs to the most common used to see if that resolves the issue. PCMU and PCMA are good choices here.
- The connector service provides an option in the portal to filter on the Codecs. Note that this is a restrictive filter, so codecs that are missing will not be added in. When you select the codecs here you can also order them in preference, which will then be reflected in the SDP.
Example: A call is dropped where the DTMF was negotiated in the original Invite (SDP) and the Re-Invite(SDP) had no DTMF negotiated hence, forcing the connector to drop the call
Invite SDP with DTMF negotiation
Re-Invite SDP without DTMF negotiation
Confirm if you expect to send and receive calls to the platform using media encryption. If so, enable this in the PBX/Trunk settings page:
504 Couldn't Classify Packet or No Response
This is likely to be a mismatch between the IP address used when registered with the PBX, and the PBX IP address being used for the call delivery.
Q850 responses provide reason codes which may also carry verbose detail on the cause for the rejection.
Some diagnostics may be necessary to establish the reason why Microsoft are rejecting a call and where we can we will offer suggestions as to how these can be resolved.
Reason header: Q.850 ;cause=63 ;text="9810e5a9-667c-4513-8d3a-5d83503e1c71;Current call site state prevents fork to this entity."
SIP Codes Wiki
This link will take yu to an external Wki listing all known SIP codes and their meanings. SIP Codes Wiki
SIP Methods, Requests & Responses
You can read more on SIP Messages here.