cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
8440
Views
0
Helpful
8
Replies

SIP max-forward: 0 problem

rwarzocha
Level 1
Level 1

Hi All,

router: 2811, ios:c2800nm-ipvoicek9-mz.151-4.M.bin.

After router receives SIP INVITE with max-forward:0, tries to establish call connection. Does anybody know how to force router to send 483 Too many hops ?

Thanks for help.

Regards,

Robert

8 Replies 8

yuanwu
Cisco Employee
Cisco Employee

Hi, Robert

what did you get from the router so far?  please collect "debug ccsip all", and show running of the 2800

Rgds/Randy

Hi,

in attachment You have debug output and config.

Best regards,

Robert

Hi Robert,

It's working as expected.

As per Max-forwards of SIP...

Max-Forwards header limits the number of hops a request can make on the  way to its destination. It consists of an integer that is decremented by  one at each hop. If the Max-Forwards value reaches 0 before the request  reaches its destination, it is rejected with a 483 (Too Many Hops)  error response.

Pls note the underlined in the above statement so if the receiving router is in the transit toward the destination, then it will send 483 error. In this case, INVITE is reached to the final destination with "max-forwards:0" so it is setting up the call.

And also, as per Docwiki of Cisco...

Each proxy or gateway recipient of a request containing a Max-Forwards  header field MUST check and update its value before forwarding the  request. If the received value is zero (0), the recipient MUST NOT  forward the request. Instead, for the OPTIONS and REGISTER methods, it  MUST respond as the final recipient. For all other methods, the server  returns 483 (too many hops).

http://docwiki.cisco.com/wiki/Cisco_IOS_Voice_Troubleshooting_and_Monitoring_--_Cisco_SIP_Gateway_Troubleshooting

Hope it helps...

Regards...

-Ashok.


With best regards...
Ashok

Hi Ashok,

thanks for the info. But I do not thing it solves my problem.

I am working in R&D, so RFC, ITU, ETSI, etc are sources for me. So ...

When we look into RFC3261, the behaviour what to do if max-forward = 0 reach the destination is not cleary explained. But if we look at the definition of error answer 483 Too many hops

"The server received a request that contains a Max-Forwards (Section 20.22) header field with the value zero." and the definition of server:

"Server: A server is a network element that receives requests in order to service them and sends back responses to those   requests.  Examples of servers are proxies, user agent servers, redirect servers, and registrars."

We can assume that in our case router is a server, so should send 483 or there should be possibility to configure the behaviuor for this case. That is why i ask

I have checked also behaviour of CUCM for this case, and CUCM response with 483 (see attached trace, 10.15.20.1 is a CUCM). I thought that on all cisco devices the sip stack is implemented in the same way

Best regards,

Robert

Hi Robert,

In your capture, the CUCM needs to forward the INVITE to the destination number (1001) but observed "max-forwards" as 0. But,n earlier case, the INVITE was directly reached to the final destination (Router) and no need to forward to anybody. I think the devices will look at "max-forwards" parameter when they need to forward the requests.

Regards...

-Ashok.


With best regards...
Ashok

Hi Ashok,

In my case, ruter is not destination. Router should send to PABX connected via PRI. Router is inside the path.

Regards,

Robert

Hi Robert,

Ok then, I may be wrong but I think SIP Final destination is the router itself and Router will start TDM channel to the PBX. The SIP INVITE request is getting terminated at the router itself.

Regards...

-Ashok.


With best regards...
Ashok

Hi Ashok,

The same like in CUCM. The sip invite is terminated and then CUCM start sccp to phone.

Regards,

Robert