You need to provide a SIP trace.
Complete CISCO systems tend to use delayed offer SDP, where the SDP isn’t supplied until the ACK. Asterisk’s handling of this is broken in certain ways. I think this is true for the whole of the 1.6. series and may be true for 1.8.
There is a partial fix at some version, but it is based on the false premise that sending a deferred offer INVITE is a request to reset to the initial state, when it is actually just a request for the UAS to say what it wants, first.
Unfortunately the work we have done on this is against a no longer supported version of Asterisk, so is not acceptable for inclusion in the mainstream Asterisk.
I’d need to see the SIP traces to see if your problem really was with delayed offer handling or what the other reason for the problem was.