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