Comments (8)
Sounds like the error you get is because the server you're connecting to does not respond with a CEA containing Origin-State-Id
. Can you confirm that with a pcap?
from go-diameter.
@fiorix You're absolutely correct. It's sending back an error message (3099).
DIAMETER_INVALID_AVP_BITS 3009
A request was received that included an AVP whose flag bits are
set to an unrecognized value, or that is inconsistent with the
AVP's definition.
Might it be worthwhile to override the CER within the state machine's handshake()
, and is there a way to do this?
from go-diameter.
@fiorix Curiously, the only way I've managed to get a valid CEA response thus far has been to completely remove the FirmwareRevision AVP.
https://github.com/fiorix/go-diameter/blob/master/diam/sm/client.go#L179
Would you be open to swapping out that line for the following, which also appears to work?
m.NewAVP(avp.FirmwareRevision, 0, 0, cli.Handler.cfg.FirmwareRevision)
from go-diameter.
I see, the Firmware-Revision
AVP is not mandatory but the state machine will always include it. We have to patch it and make this optional somehow. Not sure how I want this implemented, need to think about it. Can't do for e.g. if revision=0 does not include, but also don't want to add a boolean field to that struct. Ideas are welcome.
from go-diameter.
Closing this in favor of #44.
from go-diameter.
@fiorix Would you mind reopening this as it's not quite a fit with #44. It turns out the CEA truly doesn't include the Origin-State-Id
AVP even when it is present in the CER. It responds with DIAMETER_SUCCESS
but skips returning Origin-State-Id
, at which point the state machine freaks outs. I suspect one ought to avoid throwing an error when it's not present in the answer. BTW, it does the same with the DWR/DWA cycle.
from go-diameter.
Sure
from go-diameter.
Could you please try this dev branch?
from go-diameter.
Related Issues (20)
- Dictionary selection HOT 2
- TCP/SCTP Connection and disconnection detection
- 2G support
- Does the 'Getting Started' instructions on Readme.md need update ? HOT 2
- Missing DeleteAVP functionality HOT 1
- CCR
- how to avoid dict.Default
- Empty AVP Payload causes crash
- Dangling AVP references in readerBufferPool
- How to parse AVP sub attributes ?
- unmarshal issue when two avp's with same id but different VendorId used
- diam_sctp_client is crashing on connection
- Make certificates optional in ListenAndServeTLS to allow an external callback
- server closes the connection HOT 3
- Performance on sctp is very poor
- Any way to leverage the XML to validate produced messages?
- Missing Handshake Notifications in channel
- multi-homing HOT 1
- One Client dials to Multiple Server HOT 2
- Close listening socket
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-diameter.