/[resiprocate]/main/resip/dum/Dialog.cxx
ViewVC logotype

Diff of /main/resip/dum/Dialog.cxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2584 by jason, Sun Apr 11 17:48:59 2004 UTC revision 2585 by jason, Sun Apr 11 18:07:52 2004 UTC
# Line 134  Line 134 
134     {     {
135        usage->dispatch(msg);        usage->dispatch(msg);
136     }     }
137     else     else // no matching usage
138     {     {
139        if (msg.isRequest())        if (msg.isRequest())
140        {        {
# Line 183  Line 183 
183                                
184              case ACK:              case ACK:
185              case CANCEL:              case CANCEL:
186                   // Drop on the floor
187                 break;                 break;
188                                
189              case SUBSCRIBE:              case SUBSCRIBE:
# Line 208  Line 209 
209           }           }
210        }        }
211                
       BaseUsage* usage = mCreator->makeUsage(msg);  
212        assert(usage);        assert(usage);
213        mUsages.push_back(usage);        mUsages.push_back(usage);
214     }     }
# Line 220  Line 220 
220     switch (msg.header(h_CSeq).method())     switch (msg.header(h_CSeq).method())
221     {     {
222        case INVITE:  // new INVITE        case INVITE:  // new INVITE
223          case CANCEL:
224          case ACK:
225           return mInviteSession;           return mInviteSession;
226    
227        case SUBSCRIBE:        case SUBSCRIBE:
228        case REFER:        case REFER:
229        case NOTIFY:        case NOTIFY:
230             for (std::vector<ClientSubscription*>::iterator i=mClientSubscriptions.begin();
231                  i != mClientSubscriptions.end(); i++)
232             {
233                if (i->matches(msg))
234                {
235                   return *i;
236                }
237             }
238           break;           break;
239        case REGISTER:        case REGISTER:
240           assert(0);           InfoLog (<< "Received REGISTER inside an existing dialog. This is not supported. ");
241             DebugLog (<< msg);
242             break;
243            
244        case PUBLISH:        case PUBLISH:
245             if (msg.isRequest())
246             {
247                return mServerPublication;
248             }
249             else if (msg.isRequest())
250             {
251                return mClientPublication;
252             }
253           break;                                 break;                      
254        case MESSAGE :  
255        case OPTIONS :        default:
256        case INFO :             if (msg.isRequest())
257             {
258                return mServerOutOfDialogReq;
259             }
260             else if (msg.isRequest())
261             {
262                return mClientOutOfDialogReq;
263             }
264           break;           break;
265     }     }
266       return 0;
267  }  }
268    
269  DialogId Dialog::getId() const  DialogId Dialog::getId() const

Legend:
Removed from v.2584  
changed lines
  Added in v.2585

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27