Hi,
In my test setup, I have Openser as proxy and SEMS as announcement server. In Openser config I'm sending forking invite to SEMS using append_branch for every call made. For example when User1 dials User2, Openser send INVITES to both SEMS and User2, while the User2 phone rings, announcement is played from SEMS to User1 using the early media 183 session progress message. Once the User2 answers the call, a CANCEL message is sent to SEMS and normal conversation happens between User1 and User2 which is expected.
The problem which I'm facing is that when User2 doesn't answer the call or if rejects the call, Openser never sends CANCEL to SEMS, so the annoucement is being played continously to User1 and User1 is unaware of the remote party status. How can I configure the Openser script to handle such unanswered or call reject cases and send CANCEL to SEMS and inform User1 about the unanswered or cancel status?
Does it cancel 183 progress only in case of 200 OK from other invite session? how can we handle others like 408, 486 etc?
I'm not pasting my Openser.cfg here because it is the basic sample script with just append_branch("SEMS") in case of INVITE.
Did anybody try out such scenarios? Any help would be appreciated.
Thanks,
~Vamsi