From 08ebcfdab3cd161bb111851bbb5d74f80aff97d0 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Mon, 16 Jun 2014 16:24:23 +0200 Subject: [PATCH] mgcp: Be able to parse the grammar of custom transids correctly --- callagent/Tests.st | 14 ++++++++++++++ grammar/MGCPGrammar.st | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/callagent/Tests.st b/callagent/Tests.st index 570a3a3..945e9d3 100644 --- a/callagent/Tests.st +++ b/callagent/Tests.st @@ -368,6 +368,12 @@ PP.PPCompositeParserTest subclass: MGCPParserTest [ ^String streamContents: [:stream | stream nextPutAll: 'DLCX nat-0 1@mgw MGCP 1.0'; cr; nl] + ] + + MGCPParserTest class >> dlcxMessageReg [ + ^String streamContents: [:stream | + stream + nextPutAll: 'DLCX nat-9999999999 a@mgw MGCP 1.0'; cr; nl] ] @@ -384,6 +390,14 @@ PP.PPCompositeParserTest subclass: MGCPParserTest [ self assert: crcx asDatagram equals: self class crcxMessage. ] + testParseNatDLCX [ + | dlcx | + dlcx := self parse: self class dlcxMessageReg. + + self assert: dlcx class verb equals: 'DLCX'. + self assert: dlcx asDatagram equals: self class dlcxMessageReg. + ] + testParseDLCX [ | dlcx | dlcx := self parse: self class natDLCXMessage. diff --git a/grammar/MGCPGrammar.st b/grammar/MGCPGrammar.st index fb0afe1..dcde4e2 100644 --- a/grammar/MGCPGrammar.st +++ b/grammar/MGCPGrammar.st @@ -73,7 +73,7 @@ PP.PPCompositeParser subclass: MGCPGrammar [ "Add Osmocom extension that starts with 'nat-'" ^ ((#digit asParser) min: 1 max: 9) flatten / - ('nat-' asParser, (#digit asParser) min: 1 max: 9) flatten + ('nat-' asParser, ((#digit asParser) min: 1 max: 9) plus) flatten ] endpointName [