diff options
author | Alexandr Anikin <may@telecom-service.ru> | 2010-01-24 22:42:11 +0000 |
---|---|---|
committer | Alexandr Anikin <may@telecom-service.ru> | 2010-01-24 22:42:11 +0000 |
commit | d48fe3c81d2c9de86118de7d5162c946982118db (patch) | |
tree | 9f6b57f17d4c31304e70c47817e22f4cbde87ded /addons/ooh323c/src/ooh323.c | |
parent | 8f356343dd9dd0a62737495c16a53cdbcbdb1a35 (diff) |
AST_CONTROL_CONNECTED_LINE frame type processing added to setup DisplayIE field
incorrect q.931 message order filtered on incoming calls (first msg must be setup,
next must be not setup)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons/ooh323c/src/ooh323.c')
-rw-r--r-- | addons/ooh323c/src/ooh323.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/addons/ooh323c/src/ooh323.c b/addons/ooh323c/src/ooh323.c index 971b668a2..59b6afdb1 100644 --- a/addons/ooh323c/src/ooh323.c +++ b/addons/ooh323c/src/ooh323.c @@ -1533,6 +1533,17 @@ int ooHandleH2250Message(OOH323CallData *call, Q931Message *q931Msg) OOTimer *pTimer=NULL; int type = q931Msg->messageType; struct timespec ts; + +/* checking of message validity for first/next messages of calls */ + + if (!strcmp(call->callType, "incoming")) { + if ((call->callState != OO_CALL_CREATED && type == Q931SetupMsg) || + (call->callState == OO_CALL_CREATED && type != Q931SetupMsg)) { + ooFreeQ931Message(call->msgctxt, q931Msg); + return OO_FAILED; + } + } + switch(type) { case Q931SetupMsg: /* SETUP message is received */ |