Changeset 212
- Timestamp:
- 03/04/08 22:12:31
(6 months ago)
- Author:
- klaus
- Message:
- forward RINGING indication to incoming channel
- forward CONGESTION (ugly hack, did not knew how to make it nicer)
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r209 |
r212 |
|
| 733 | 733 | switch (f->subclass) |
|---|
| 734 | 734 | { |
|---|
| 735 | | case AST_CONTROL_RINGING: |
|---|
| | 735 | case AST_CONTROL_RINGING: |
|---|
| | 736 | ast_indicate(chan, AST_CONTROL_RINGING); |
|---|
| 736 | 737 | break; |
|---|
| 737 | 738 | case AST_CONTROL_BUSY: |
|---|
| … | … | |
| 1057 | 1058 | switch (f->subclass) |
|---|
| 1058 | 1059 | { |
|---|
| 1059 | | case AST_CONTROL_RINGING: |
|---|
| | 1060 | case AST_CONTROL_RINGING: |
|---|
| | 1061 | ast_indicate(chan, AST_CONTROL_RINGING); |
|---|
| 1060 | 1062 | break; |
|---|
| 1061 | 1063 | case AST_CONTROL_BUSY: |
|---|
| 1062 | | case AST_CONTROL_CONGESTION: |
|---|
| | 1064 | ast_log(LOG_DEBUG, "h324m_call: pseudo channel: BUSY\n"); |
|---|
| | 1065 | ast_log(LOG_DEBUG, "h324m_call: pseudo channel: hangupcause=%d\n",pseudo->hangupcause); |
|---|
| 1063 | 1066 | /* Delete frame */ |
|---|
| 1064 | 1067 | ast_frfree(f); |
|---|
| 1065 | 1068 | /* Save cause */ |
|---|
| 1066 | | reason = pseudo->hangupcause; |
|---|
| | 1069 | reason = AST_CAUSE_BUSY; |
|---|
| | 1070 | /* exit */ |
|---|
| | 1071 | goto hangup_pseudo; |
|---|
| | 1072 | break; |
|---|
| | 1073 | case AST_CONTROL_CONGESTION: |
|---|
| | 1074 | ast_log(LOG_DEBUG, "h324m_call: pseudo channel: CONGESTION\n"); |
|---|
| | 1075 | ast_log(LOG_DEBUG, "h324m_call: pseudo channel: hangupcause=%d\n",pseudo->hangupcause); |
|---|
| | 1076 | /* Delete frame */ |
|---|
| | 1077 | ast_frfree(f); |
|---|
| | 1078 | /* Save cause */ |
|---|
| | 1079 | reason = AST_CAUSE_CONGESTION; |
|---|
| 1067 | 1080 | /* exit */ |
|---|
| 1068 | 1081 | goto hangup_pseudo; |
|---|
| … | … | |
| 1072 | 1085 | reason = 0; |
|---|
| 1073 | 1086 | break; |
|---|
| | 1087 | default: |
|---|
| | 1088 | reason = pseudo->hangupcause; |
|---|
| 1074 | 1089 | } |
|---|
| 1075 | 1090 | } |
|---|
| … | … | |
| 1098 | 1113 | /* If no answer */ |
|---|
| 1099 | 1114 | if (pseudo->_state != AST_STATE_UP) |
|---|
| | 1115 | { ast_log(LOG_DEBUG, "h324m_call: pseudo channel not up -> hangup\n"); |
|---|
| 1100 | 1116 | /* goto end */ |
|---|
| 1101 | 1117 | goto clean_pseudo; |
|---|
| | 1118 | } |
|---|
| 1102 | 1119 | |
|---|
| 1103 | 1120 | /* Create session */ |
|---|
| … | … | |
| 1247 | 1264 | end: |
|---|
| 1248 | 1265 | /* Hangup channel if needed */ |
|---|
| 1249 | | ast_softhangup(chan, reason); |
|---|
| | 1266 | // ast_softhangup(chan, reason); |
|---|
| 1250 | 1267 | |
|---|
| 1251 | 1268 | /* Unlock module*/ |
|---|
| … | … | |
| 1253 | 1270 | |
|---|
| 1254 | 1271 | //Exit |
|---|
| 1255 | | return -1; |
|---|
| | 1272 | // return -1; |
|---|
| | 1273 | chan->hangupcause = reason; |
|---|
| | 1274 | return 0; |
|---|
| 1256 | 1275 | } |
|---|
| 1257 | 1276 | |
|---|
Download in other formats:
|
|