Login Form






Lost Password?
No account yet? Register
Home arrow Forums
ECharts
Welcome, Guest
SIP/UPDATE Request (0 viewing) 
Go to bottom Post Reply Favoured: 0
TOPIC: SIP/UPDATE Request
#407
David (User)
Fresh Boarder
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
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?
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#409
Eric Cheung (Admin)
Admin
Posts: 24
graphgraph
User Offline Click here to see the profile of this user
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.
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#411
Tom Smith (Admin)
Admin
Posts: 70
graphgraph
User Offline Click here to see the profile of this user
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.
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#412
David (User)
Fresh Boarder
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
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?
 
Report to moderator   Logged Logged  
 
Last Edit: 2010/01/27 11:33 By David.
  The administrator has disabled public write access.
#414
Eric Cheung (Admin)
Admin
Posts: 24
graphgraph
User Offline Click here to see the profile of this user
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.
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#415
David (User)
Fresh Boarder
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
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).
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
Go to top Post Reply
Powered by FireBoardget the latest posts directly to your desktop
Copyright © 2006-2009 echarts.org