Home Forums
|
Re:SIP/UPDATE Request (0 viewing)
Favoured: 0
|
|
|
TOPIC: Re:SIP/UPDATE Request
|
David (User)
Fresh Boarder
Posts: 4
|
|
SIP/UPDATE Request 6 Months ago
|
|
|
I'm trying to send an UPDATE request through a SipPort but it doesn't seem to be supported. I got this exception when sending it:
EXCEPTION: org.echarts.MachineException: No transition defined for message class org.echarts.servlet.sip.messages.Request with string representation UPDATE sip:
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
:5060 on port {PORT_NAME=remote, PORT_TYPE=EXTERNAL_PORT, PORT_ID=21d63a2c:12666310a8a:-7e10} from state :org.echarts.servlet.sip.SipPortFSM{ INVITE_DIALOG:org.echarts.servlet.sip.InviteDialogFSM{ INVITE_RECEIVED } } FINAL_MACHINE_STATE: :org.echarts.servlet.sip.SipPortFSM{ INVITE_DIALOG:org.echarts.servlet.sip.InviteDialogFSM{ INVITE_RECEIVED } } MESSAGE: Exception encountered advancing port machine state
I thought eCharts only transits state machines on the reception of messages, not on sending. Is there any way to create a SipPort not using SipPortFSM? Can this behaviour be overridden?
|
|
|
|
|
|
|
The administrator has disabled public write access. |
|
|
|
Re:SIP/UPDATE Request 6 Months ago
|
|
|
SipPortFSM tracks all incoming and outgoing messages, and it does not permit a request to be sent in the INVITE_RECEIVED state, hence the exception.
I think SipPortFSM should permit an UPDATE to be sent any time after a provisional response is sent. Similarly, on the calling side it should accommodate receiving an UPDATE in the INVITE_SENT state.
|
|
|
|
|
|
|
The administrator has disabled public write access. |
|
|
|
Re:SIP/UPDATE Request 6 Months ago
|
|
|
E4SS support has been focused on RFC3261 to date (as well as INFO), but it may be straightforward to make these changes for UPDATE. We'll take a look and post back here with our thoughts.
|
|
|
|
|
|
|
The administrator has disabled public write access. |
David (User)
Fresh Boarder
Posts: 4
|
|
Re:SIP/UPDATE Request 6 Months ago
|
|
|
Thanks Eric and Tom for your quick response.
The scenario is as follows:
A....................Proxy (eCharts) | ---- INVITE ----> | | <------ 183 ------ | | <--- UPDATE -- ! Exception!
Do you mean that it isn't possible to send UPDATE requests on this scenario?
Could it be possible to modify InviteDialogFSM to allow SipPort to send/receive UPDATE requests?
|
|
|
|
|
|
|
Last Edit: 2010/01/27 11:33 By David.
|
|
|
The administrator has disabled public write access. |
|
|
|
Re:SIP/UPDATE Request 6 Months ago
|
|
|
RFC3311 certainly allows for this message sequence. As a quick and dirty workaround, you can try adding these transitions in InviteDialogFSM:
// Allow sending UPDATE (or any request for that matter) transition INVITE_RECEIVED - remote?Request -> INVITE_RECEIVED;
// Handle incoming responses to any requests sent transition INVITE_RECEIVED - thisPort?Response -> INVITE_RECEIVED;
This is not ideal, because it does not distinguish between UPDATE with say an INVITE, which should not be allowed. Also if a 1xx has not been sent, UPDATE should not be allowed either. But doing more checks would require more code change.
|
|
|
|
|
|
|
The administrator has disabled public write access. |
David (User)
Fresh Boarder
Posts: 4
|
|
Re:SIP/UPDATE Request 6 Months ago
|
|
|
Thank you, I'll try your hint. Is it planned to add this feature to eCharts in future releases? It seems to me that only this state machine is to be modified to achieve this aim, isn't it? (Of course, as you have stated with more code change).
|
|
|
|
|
|
|
The administrator has disabled public write access. |
|
|
|
|
|