Hi Redouane, >> +             void UnRegister(object path) >> + >> +                     Un-register a IpMultimediaSubsystemAgent. > > Register and UnRegister functions are not really symmetric here ... > How object path is used by UnRegister function ?? > Maybe we should have : > void UnRegister(string type) Thanks for spotting this, it's a bug. It should have been "void UnRegister()". I'll fix this in the next patch. >> +             boolean PreConditionCheck(string Type, string PeerAddress, >> +                                     uint16 PeerPort,  uint16 LocalPort) > > How to make the link between the primary context (or default bearer) activated by the IMS client , > and the TFT and QOS. When Dedicated bearers are created +CGEV: NW ACT reports both the Default Bearer and the Dedicated bearer. > We can imagine that we have a good QOS / TFT but it doesn't belong to the primary context (or default bearer) activated by the IMS client. As mentioned to Rémi, we should only consider the QoS/TFT for the IMS ConnectionContext and related Dedicated Bearers. So oFono core only needs to keep track of the QoS/TFTs for IMS. >> +             void PreConditionChanged() >> + >> +                     This signal is sent when the network has changed >> +                     the QoS or Packet Filters for a Bearer. >> +                     The IMS application can then check the QoS SIP >> +                     preconditions by calling PreConditionCheck(). >> + >> +                     Only QoS information relevant for IMS will be >> +                     signaled, i.e. QCI=1 for voice and QCI=2 for video. >> + >> +                     Related AT commands: AT+CGEREP, >> +                     +CGEV: NW ACT, +CGEV: NW MODIFY >> + > > Same here , IMS client will be notified for all dedicated bearer ? > I agree with Rémi, it 'll be better if we can put QOS/TFT somewhere under primary context. I believe we will have only one IMS APN for each operator, so we might as well keep it here in the IMS Interface. Regards, Sjur