we are using a registered SIP trunk for incoming and outgoing calls to a PRI. All calls are working as expected except when they forward the main TN on their phone system to the answering service. I see
incoming call as normal but the attempt to dial out includes the following
95 Cause:21 (CALL_REJECTED) and disconnect
On the Meta (carrier) traces, I see an incoming message with a SIP 500 internal error from the adtran. The outgoing call record on the ISDN has my incoming number as well as the number we are forwarding to and does not include the original number dialed for incoming.
This adtran was recently converted from a configured sip binding with a trusted ip to a registered binding. Before this conversion, all was working
TA908e 3rd gen
Check with your SIP provider as to whether they are blocking calls with an origin not assigned to you. If the call-forwarding feature of the PBX passes the caller's number as the outbound CLID on forwarded calls, your SIP provider may assume that you are spoofing caller-ID and reject the call. Many carriers will lift this restriction if you justify the business case for it. If not, you can modify the outbound caller-ID in the Adtran configuration.
Thanks for the followup.. We are the SIP provider and there is no screening for outgoing caller ID on this circuit for this specific reason. I do receive an incoming message at the provider level from the adtran that indicates SIP 500 internal error when the call is attempted to be sent back out to the answering service.
It would be useful to see a "debug sip stack messages" output from the TA900 captured during a failed call, as well as a "debug voice verbose".
The problem is you changed it from a trusted sip binding to a registered binding, and the Meta is rejecting the call due to the from header not being a valid number on the system. We had to remedy this by using Header Manipulation Rules on the Adtran to add an additional match criteria that the Meta would use for Billing and matching. The Meta side needs to be configured to use Diversion matching for billing and matching. Below are the code snippets we used and it worked for us between our Meta and Adtran devices:
Voice trunk TXX type sip
hmr TRUNK out
hmr policy TRUNK
rule-set DiversionChange 1
hmr rule-set DiversionChange
message-rule CHANGE_Diversion message-type any 1
match header diversion
modify header diversion position first-match new-value /sip:email@example.com/ 2
For the voice trunk that connects to the Meta Switch add the hmr trunk out rule.
In the rule-set replace firstname.lastname@example.org to match what the from header that would normally be found on a call.