Dear All,
I encountered a problem like this.
Case 1:
-------
If UA1 calls UA2 using the following:
Normal call:
UA1 ------invite -------port 30000 -----> UA2
UA1 <--------OK---port 26000--------------UA2
The connection and media is established.
Hold the call:
UA1------invite ---port 30000 (hold)--> UA2
UA1 <----------OK port 26000----------UA2
The media is in hold state.
Unhold the call:
UA1------invite ----port 30000--------->UA2
UA1 <---------OK port 260000----------UA2
Media resume.
The above mentioned work fine with mediaproxy.
Case 2:
-------
If UA1 calls UA2 using the following:
Normal call:
UA1 ------invite -------port 30000 -----> UA2
UA1 <--------OK---port 26000--------------UA2
The connection and media is established.
Hold the call:
UA1------invite ---port 30000 (hold)--> UA2
UA1 <----------OK port 26000----------UA2
The media is in hold state.
Unhold the call:
UA1------invite ----port 30001--------->UA2
UA1 <---------OK port 260000----------UA2
*****Noticed that the reinvite has a different port!
In this situation, media does not resume and mediaproxy has a "stray
hold" session.
I tested case2 without flowing through the mediaproxy and found that the
call can be hold/unhold successfully.
I am not familiar with RFC at all, please help!
(1) I would like to know whether it is valid to reinvite with a
different port as in case 2, i.e., is the UA1 ill-behave in case 2 when
unhold the call with different port?
(2) Is the mediaproxy designed to work using the some port when
hold/unhold.
Thanks you very much for any help available.
Regards,
TC Chan
Show replies by date