> Is it possible to add our own dialect PRI (for another submission of SUBBADDRESS, for example), if we'll add
> new files *mess.c, *StateNT.c, *StateTE and definition * into the Q931Dialect_t ?
We have added new dialect ( li_ewsd, similar to Q.931, but different that bytes of data SUBADDRES do not mask with & 0x7F -
- so the specifications of telephone stations EWSD & Surpass demands, which place into SUBADDRES special user info ( different
for EWSD & Surpass stations) ).
We have made some changes in libs/openzap/src/isdn/include/Q931.h:
typedef enum // Dialect enum
{
Q931_Dialect_Q931 = 0,
Q931_Dialect_National = 2,
Q931_Dialect_DMS = 4,
Q931_Dialect_5ESS = 6, // Coming soon to a PRI stack near you!
Q931_Dialect_li_ewsd = 8, // Coming soon to a PRI stack near you!
Q931_Dialect_Count
} Q931Dialect_t;
#define DIALECT_STRINGS "q931", "", "national", "", "dms", "", "5ess", "", "li_ewsd", ""
After recompilation mod_openzap we connect 2 FreeSWITCH on different hosts with PRI channel through 2xE1.
Then we manage to receive.
[host 1, X-Lite] -SIP-> [host 2, FS] -PRI-> [host 3, FS] -> record_session()
Written *.wav the file is identical to that was told from X-Lite softphone
Записанный *.wav файл идентичен тому, что говорилось из X-Lite softphone...
But periodically ( > than minute ) such messages are output on FreeSWITCH console:
2008-09-18 18:53:47 [WARNING] zap_zt.c:668 zt_next_event() Unhandled event 8
2008-09-18 18:53:47 [DEBUG] zap_isdn.c:790 process_event() EVENT [INVALID][1:16] STATE [UP]
We can suppose, that it because of both sides of PRI channel are configured in such manner
<pri_spans>
<span id="1">
<param name="mode" value="user" />
<param name="dialect" value="li_ewsd" />
....
</span>
- because of "user".
Are we right?